↳ ITRS
↳ ITRStoQTRSProof
z
eval_3(x, y) → Cond_eval_31(>=@z(0@z, y), x, y)
Cond_eval_3(TRUE, x, y) → eval_3(x, -@z(y, 1@z))
eval_1(x, y) → Cond_eval_1(&&(&&(>@z(x, 0@z), >@z(y, 0@z)), >@z(x, y)), x, y)
Cond_eval_11(TRUE, x, y) → eval_3(x, y)
Cond_eval_1(TRUE, x, y) → eval_2(x, y)
Cond_eval_2(TRUE, x, y) → eval_2(-@z(x, 1@z), y)
eval_1(x, y) → Cond_eval_11(&&(&&(>@z(x, 0@z), >@z(y, 0@z)), >=@z(y, x)), x, y)
Cond_eval_31(TRUE, x, y) → eval_1(x, y)
Cond_eval_21(TRUE, x, y) → eval_1(x, y)
eval_3(x, y) → Cond_eval_3(>@z(y, 0@z), x, y)
eval_2(x, y) → Cond_eval_21(>=@z(0@z, x), x, y)
eval_2(x, y) → Cond_eval_2(>@z(x, 0@z), x, y)
eval_3(x0, x1)
Cond_eval_3(TRUE, x0, x1)
eval_1(x0, x1)
Cond_eval_11(TRUE, x0, x1)
Cond_eval_1(TRUE, x0, x1)
Cond_eval_2(TRUE, x0, x1)
Cond_eval_31(TRUE, x0, x1)
Cond_eval_21(TRUE, x0, x1)
eval_2(x0, x1)
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
eval_3(x, y) → Cond_eval_31(greatereq_int(pos(0), y), x, y)
Cond_eval_3(true, x, y) → eval_3(x, minus_int(y, pos(s(0))))
eval_1(x, y) → Cond_eval_1(and(and(greater_int(x, pos(0)), greater_int(y, pos(0))), greater_int(x, y)), x, y)
Cond_eval_11(true, x, y) → eval_3(x, y)
Cond_eval_1(true, x, y) → eval_2(x, y)
Cond_eval_2(true, x, y) → eval_2(minus_int(x, pos(s(0))), y)
eval_1(x, y) → Cond_eval_11(and(and(greater_int(x, pos(0)), greater_int(y, pos(0))), greatereq_int(y, x)), x, y)
Cond_eval_31(true, x, y) → eval_1(x, y)
Cond_eval_21(true, x, y) → eval_1(x, y)
eval_3(x, y) → Cond_eval_3(greater_int(y, pos(0)), x, y)
eval_2(x, y) → Cond_eval_21(greatereq_int(pos(0), x), x, y)
eval_2(x, y) → Cond_eval_2(greater_int(x, pos(0)), x, y)
greatereq_int(pos(x), pos(0)) → true
greatereq_int(neg(0), pos(0)) → true
greatereq_int(neg(0), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(0), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(0)) → false
greatereq_int(neg(s(x)), neg(0)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), neg(y)) → minus_nat(y, x)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
minus_int(pos(x), neg(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), neg(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(neg(0), neg(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(neg(0), pos(s(y))) → false
greater_int(pos(0), neg(s(y))) → true
greater_int(neg(0), neg(s(y))) → true
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
greater_int(pos(s(x)), neg(0)) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
eval_3(x0, x1)
Cond_eval_3(true, x0, x1)
eval_1(x0, x1)
Cond_eval_11(true, x0, x1)
Cond_eval_1(true, x0, x1)
Cond_eval_2(true, x0, x1)
Cond_eval_31(true, x0, x1)
Cond_eval_21(true, x0, x1)
eval_2(x0, x1)
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
EVAL_3(x, y) → COND_EVAL_31(greatereq_int(pos(0), y), x, y)
EVAL_3(x, y) → GREATEREQ_INT(pos(0), y)
COND_EVAL_3(true, x, y) → EVAL_3(x, minus_int(y, pos(s(0))))
COND_EVAL_3(true, x, y) → MINUS_INT(y, pos(s(0)))
EVAL_1(x, y) → COND_EVAL_1(and(and(greater_int(x, pos(0)), greater_int(y, pos(0))), greater_int(x, y)), x, y)
EVAL_1(x, y) → AND(and(greater_int(x, pos(0)), greater_int(y, pos(0))), greater_int(x, y))
EVAL_1(x, y) → AND(greater_int(x, pos(0)), greater_int(y, pos(0)))
EVAL_1(x, y) → GREATER_INT(x, pos(0))
EVAL_1(x, y) → GREATER_INT(y, pos(0))
EVAL_1(x, y) → GREATER_INT(x, y)
COND_EVAL_11(true, x, y) → EVAL_3(x, y)
COND_EVAL_1(true, x, y) → EVAL_2(x, y)
COND_EVAL_2(true, x, y) → EVAL_2(minus_int(x, pos(s(0))), y)
COND_EVAL_2(true, x, y) → MINUS_INT(x, pos(s(0)))
EVAL_1(x, y) → COND_EVAL_11(and(and(greater_int(x, pos(0)), greater_int(y, pos(0))), greatereq_int(y, x)), x, y)
EVAL_1(x, y) → AND(and(greater_int(x, pos(0)), greater_int(y, pos(0))), greatereq_int(y, x))
EVAL_1(x, y) → GREATEREQ_INT(y, x)
COND_EVAL_31(true, x, y) → EVAL_1(x, y)
COND_EVAL_21(true, x, y) → EVAL_1(x, y)
EVAL_3(x, y) → COND_EVAL_3(greater_int(y, pos(0)), x, y)
EVAL_3(x, y) → GREATER_INT(y, pos(0))
EVAL_2(x, y) → COND_EVAL_21(greatereq_int(pos(0), x), x, y)
EVAL_2(x, y) → GREATEREQ_INT(pos(0), x)
EVAL_2(x, y) → COND_EVAL_2(greater_int(x, pos(0)), x, y)
EVAL_2(x, y) → GREATER_INT(x, pos(0))
GREATEREQ_INT(pos(s(x)), pos(s(y))) → GREATEREQ_INT(pos(x), pos(y))
GREATEREQ_INT(neg(s(x)), neg(s(y))) → GREATEREQ_INT(neg(x), neg(y))
MINUS_INT(pos(x), pos(y)) → MINUS_NAT(x, y)
MINUS_INT(neg(x), neg(y)) → MINUS_NAT(y, x)
MINUS_INT(neg(x), pos(y)) → PLUS_NAT(x, y)
MINUS_INT(pos(x), neg(y)) → PLUS_NAT(x, y)
PLUS_NAT(s(x), y) → PLUS_NAT(x, y)
MINUS_NAT(s(x), s(y)) → MINUS_NAT(x, y)
GREATER_INT(pos(s(x)), pos(s(y))) → GREATER_INT(pos(x), pos(y))
GREATER_INT(neg(s(x)), neg(s(y))) → GREATER_INT(neg(x), neg(y))
eval_3(x, y) → Cond_eval_31(greatereq_int(pos(0), y), x, y)
Cond_eval_3(true, x, y) → eval_3(x, minus_int(y, pos(s(0))))
eval_1(x, y) → Cond_eval_1(and(and(greater_int(x, pos(0)), greater_int(y, pos(0))), greater_int(x, y)), x, y)
Cond_eval_11(true, x, y) → eval_3(x, y)
Cond_eval_1(true, x, y) → eval_2(x, y)
Cond_eval_2(true, x, y) → eval_2(minus_int(x, pos(s(0))), y)
eval_1(x, y) → Cond_eval_11(and(and(greater_int(x, pos(0)), greater_int(y, pos(0))), greatereq_int(y, x)), x, y)
Cond_eval_31(true, x, y) → eval_1(x, y)
Cond_eval_21(true, x, y) → eval_1(x, y)
eval_3(x, y) → Cond_eval_3(greater_int(y, pos(0)), x, y)
eval_2(x, y) → Cond_eval_21(greatereq_int(pos(0), x), x, y)
eval_2(x, y) → Cond_eval_2(greater_int(x, pos(0)), x, y)
greatereq_int(pos(x), pos(0)) → true
greatereq_int(neg(0), pos(0)) → true
greatereq_int(neg(0), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(0), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(0)) → false
greatereq_int(neg(s(x)), neg(0)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), neg(y)) → minus_nat(y, x)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
minus_int(pos(x), neg(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), neg(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(neg(0), neg(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(neg(0), pos(s(y))) → false
greater_int(pos(0), neg(s(y))) → true
greater_int(neg(0), neg(s(y))) → true
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
greater_int(pos(s(x)), neg(0)) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
eval_3(x0, x1)
Cond_eval_3(true, x0, x1)
eval_1(x0, x1)
Cond_eval_11(true, x0, x1)
Cond_eval_1(true, x0, x1)
Cond_eval_2(true, x0, x1)
Cond_eval_31(true, x0, x1)
Cond_eval_21(true, x0, x1)
eval_2(x0, x1)
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
EVAL_3(x, y) → COND_EVAL_31(greatereq_int(pos(0), y), x, y)
EVAL_3(x, y) → GREATEREQ_INT(pos(0), y)
COND_EVAL_3(true, x, y) → EVAL_3(x, minus_int(y, pos(s(0))))
COND_EVAL_3(true, x, y) → MINUS_INT(y, pos(s(0)))
EVAL_1(x, y) → COND_EVAL_1(and(and(greater_int(x, pos(0)), greater_int(y, pos(0))), greater_int(x, y)), x, y)
EVAL_1(x, y) → AND(and(greater_int(x, pos(0)), greater_int(y, pos(0))), greater_int(x, y))
EVAL_1(x, y) → AND(greater_int(x, pos(0)), greater_int(y, pos(0)))
EVAL_1(x, y) → GREATER_INT(x, pos(0))
EVAL_1(x, y) → GREATER_INT(y, pos(0))
EVAL_1(x, y) → GREATER_INT(x, y)
COND_EVAL_11(true, x, y) → EVAL_3(x, y)
COND_EVAL_1(true, x, y) → EVAL_2(x, y)
COND_EVAL_2(true, x, y) → EVAL_2(minus_int(x, pos(s(0))), y)
COND_EVAL_2(true, x, y) → MINUS_INT(x, pos(s(0)))
EVAL_1(x, y) → COND_EVAL_11(and(and(greater_int(x, pos(0)), greater_int(y, pos(0))), greatereq_int(y, x)), x, y)
EVAL_1(x, y) → AND(and(greater_int(x, pos(0)), greater_int(y, pos(0))), greatereq_int(y, x))
EVAL_1(x, y) → GREATEREQ_INT(y, x)
COND_EVAL_31(true, x, y) → EVAL_1(x, y)
COND_EVAL_21(true, x, y) → EVAL_1(x, y)
EVAL_3(x, y) → COND_EVAL_3(greater_int(y, pos(0)), x, y)
EVAL_3(x, y) → GREATER_INT(y, pos(0))
EVAL_2(x, y) → COND_EVAL_21(greatereq_int(pos(0), x), x, y)
EVAL_2(x, y) → GREATEREQ_INT(pos(0), x)
EVAL_2(x, y) → COND_EVAL_2(greater_int(x, pos(0)), x, y)
EVAL_2(x, y) → GREATER_INT(x, pos(0))
GREATEREQ_INT(pos(s(x)), pos(s(y))) → GREATEREQ_INT(pos(x), pos(y))
GREATEREQ_INT(neg(s(x)), neg(s(y))) → GREATEREQ_INT(neg(x), neg(y))
MINUS_INT(pos(x), pos(y)) → MINUS_NAT(x, y)
MINUS_INT(neg(x), neg(y)) → MINUS_NAT(y, x)
MINUS_INT(neg(x), pos(y)) → PLUS_NAT(x, y)
MINUS_INT(pos(x), neg(y)) → PLUS_NAT(x, y)
PLUS_NAT(s(x), y) → PLUS_NAT(x, y)
MINUS_NAT(s(x), s(y)) → MINUS_NAT(x, y)
GREATER_INT(pos(s(x)), pos(s(y))) → GREATER_INT(pos(x), pos(y))
GREATER_INT(neg(s(x)), neg(s(y))) → GREATER_INT(neg(x), neg(y))
eval_3(x, y) → Cond_eval_31(greatereq_int(pos(0), y), x, y)
Cond_eval_3(true, x, y) → eval_3(x, minus_int(y, pos(s(0))))
eval_1(x, y) → Cond_eval_1(and(and(greater_int(x, pos(0)), greater_int(y, pos(0))), greater_int(x, y)), x, y)
Cond_eval_11(true, x, y) → eval_3(x, y)
Cond_eval_1(true, x, y) → eval_2(x, y)
Cond_eval_2(true, x, y) → eval_2(minus_int(x, pos(s(0))), y)
eval_1(x, y) → Cond_eval_11(and(and(greater_int(x, pos(0)), greater_int(y, pos(0))), greatereq_int(y, x)), x, y)
Cond_eval_31(true, x, y) → eval_1(x, y)
Cond_eval_21(true, x, y) → eval_1(x, y)
eval_3(x, y) → Cond_eval_3(greater_int(y, pos(0)), x, y)
eval_2(x, y) → Cond_eval_21(greatereq_int(pos(0), x), x, y)
eval_2(x, y) → Cond_eval_2(greater_int(x, pos(0)), x, y)
greatereq_int(pos(x), pos(0)) → true
greatereq_int(neg(0), pos(0)) → true
greatereq_int(neg(0), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(0), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(0)) → false
greatereq_int(neg(s(x)), neg(0)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), neg(y)) → minus_nat(y, x)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
minus_int(pos(x), neg(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), neg(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(neg(0), neg(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(neg(0), pos(s(y))) → false
greater_int(pos(0), neg(s(y))) → true
greater_int(neg(0), neg(s(y))) → true
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
greater_int(pos(s(x)), neg(0)) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
eval_3(x0, x1)
Cond_eval_3(true, x0, x1)
eval_1(x0, x1)
Cond_eval_11(true, x0, x1)
Cond_eval_1(true, x0, x1)
Cond_eval_2(true, x0, x1)
Cond_eval_31(true, x0, x1)
Cond_eval_21(true, x0, x1)
eval_2(x0, x1)
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
GREATER_INT(neg(s(x)), neg(s(y))) → GREATER_INT(neg(x), neg(y))
eval_3(x, y) → Cond_eval_31(greatereq_int(pos(0), y), x, y)
Cond_eval_3(true, x, y) → eval_3(x, minus_int(y, pos(s(0))))
eval_1(x, y) → Cond_eval_1(and(and(greater_int(x, pos(0)), greater_int(y, pos(0))), greater_int(x, y)), x, y)
Cond_eval_11(true, x, y) → eval_3(x, y)
Cond_eval_1(true, x, y) → eval_2(x, y)
Cond_eval_2(true, x, y) → eval_2(minus_int(x, pos(s(0))), y)
eval_1(x, y) → Cond_eval_11(and(and(greater_int(x, pos(0)), greater_int(y, pos(0))), greatereq_int(y, x)), x, y)
Cond_eval_31(true, x, y) → eval_1(x, y)
Cond_eval_21(true, x, y) → eval_1(x, y)
eval_3(x, y) → Cond_eval_3(greater_int(y, pos(0)), x, y)
eval_2(x, y) → Cond_eval_21(greatereq_int(pos(0), x), x, y)
eval_2(x, y) → Cond_eval_2(greater_int(x, pos(0)), x, y)
greatereq_int(pos(x), pos(0)) → true
greatereq_int(neg(0), pos(0)) → true
greatereq_int(neg(0), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(0), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(0)) → false
greatereq_int(neg(s(x)), neg(0)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), neg(y)) → minus_nat(y, x)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
minus_int(pos(x), neg(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), neg(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(neg(0), neg(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(neg(0), pos(s(y))) → false
greater_int(pos(0), neg(s(y))) → true
greater_int(neg(0), neg(s(y))) → true
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
greater_int(pos(s(x)), neg(0)) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
eval_3(x0, x1)
Cond_eval_3(true, x0, x1)
eval_1(x0, x1)
Cond_eval_11(true, x0, x1)
Cond_eval_1(true, x0, x1)
Cond_eval_2(true, x0, x1)
Cond_eval_31(true, x0, x1)
Cond_eval_21(true, x0, x1)
eval_2(x0, x1)
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
GREATER_INT(neg(s(x)), neg(s(y))) → GREATER_INT(neg(x), neg(y))
eval_3(x0, x1)
Cond_eval_3(true, x0, x1)
eval_1(x0, x1)
Cond_eval_11(true, x0, x1)
Cond_eval_1(true, x0, x1)
Cond_eval_2(true, x0, x1)
Cond_eval_31(true, x0, x1)
Cond_eval_21(true, x0, x1)
eval_2(x0, x1)
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
eval_3(x0, x1)
Cond_eval_3(true, x0, x1)
eval_1(x0, x1)
Cond_eval_11(true, x0, x1)
Cond_eval_1(true, x0, x1)
Cond_eval_2(true, x0, x1)
Cond_eval_31(true, x0, x1)
Cond_eval_21(true, x0, x1)
eval_2(x0, x1)
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ UsableRulesReductionPairsProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
GREATER_INT(neg(s(x)), neg(s(y))) → GREATER_INT(neg(x), neg(y))
No rules are removed from R.
GREATER_INT(neg(s(x)), neg(s(y))) → GREATER_INT(neg(x), neg(y))
POL(GREATER_INT(x1, x2)) = 2·x1 + x2
POL(neg(x1)) = x1
POL(s(x1)) = 2·x1
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ UsableRulesReductionPairsProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
GREATER_INT(pos(s(x)), pos(s(y))) → GREATER_INT(pos(x), pos(y))
eval_3(x, y) → Cond_eval_31(greatereq_int(pos(0), y), x, y)
Cond_eval_3(true, x, y) → eval_3(x, minus_int(y, pos(s(0))))
eval_1(x, y) → Cond_eval_1(and(and(greater_int(x, pos(0)), greater_int(y, pos(0))), greater_int(x, y)), x, y)
Cond_eval_11(true, x, y) → eval_3(x, y)
Cond_eval_1(true, x, y) → eval_2(x, y)
Cond_eval_2(true, x, y) → eval_2(minus_int(x, pos(s(0))), y)
eval_1(x, y) → Cond_eval_11(and(and(greater_int(x, pos(0)), greater_int(y, pos(0))), greatereq_int(y, x)), x, y)
Cond_eval_31(true, x, y) → eval_1(x, y)
Cond_eval_21(true, x, y) → eval_1(x, y)
eval_3(x, y) → Cond_eval_3(greater_int(y, pos(0)), x, y)
eval_2(x, y) → Cond_eval_21(greatereq_int(pos(0), x), x, y)
eval_2(x, y) → Cond_eval_2(greater_int(x, pos(0)), x, y)
greatereq_int(pos(x), pos(0)) → true
greatereq_int(neg(0), pos(0)) → true
greatereq_int(neg(0), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(0), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(0)) → false
greatereq_int(neg(s(x)), neg(0)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), neg(y)) → minus_nat(y, x)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
minus_int(pos(x), neg(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), neg(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(neg(0), neg(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(neg(0), pos(s(y))) → false
greater_int(pos(0), neg(s(y))) → true
greater_int(neg(0), neg(s(y))) → true
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
greater_int(pos(s(x)), neg(0)) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
eval_3(x0, x1)
Cond_eval_3(true, x0, x1)
eval_1(x0, x1)
Cond_eval_11(true, x0, x1)
Cond_eval_1(true, x0, x1)
Cond_eval_2(true, x0, x1)
Cond_eval_31(true, x0, x1)
Cond_eval_21(true, x0, x1)
eval_2(x0, x1)
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
GREATER_INT(pos(s(x)), pos(s(y))) → GREATER_INT(pos(x), pos(y))
eval_3(x0, x1)
Cond_eval_3(true, x0, x1)
eval_1(x0, x1)
Cond_eval_11(true, x0, x1)
Cond_eval_1(true, x0, x1)
Cond_eval_2(true, x0, x1)
Cond_eval_31(true, x0, x1)
Cond_eval_21(true, x0, x1)
eval_2(x0, x1)
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
eval_3(x0, x1)
Cond_eval_3(true, x0, x1)
eval_1(x0, x1)
Cond_eval_11(true, x0, x1)
Cond_eval_1(true, x0, x1)
Cond_eval_2(true, x0, x1)
Cond_eval_31(true, x0, x1)
Cond_eval_21(true, x0, x1)
eval_2(x0, x1)
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ UsableRulesReductionPairsProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
GREATER_INT(pos(s(x)), pos(s(y))) → GREATER_INT(pos(x), pos(y))
No rules are removed from R.
GREATER_INT(pos(s(x)), pos(s(y))) → GREATER_INT(pos(x), pos(y))
POL(GREATER_INT(x1, x2)) = 2·x1 + x2
POL(pos(x1)) = x1
POL(s(x1)) = 2·x1
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ UsableRulesReductionPairsProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
MINUS_NAT(s(x), s(y)) → MINUS_NAT(x, y)
eval_3(x, y) → Cond_eval_31(greatereq_int(pos(0), y), x, y)
Cond_eval_3(true, x, y) → eval_3(x, minus_int(y, pos(s(0))))
eval_1(x, y) → Cond_eval_1(and(and(greater_int(x, pos(0)), greater_int(y, pos(0))), greater_int(x, y)), x, y)
Cond_eval_11(true, x, y) → eval_3(x, y)
Cond_eval_1(true, x, y) → eval_2(x, y)
Cond_eval_2(true, x, y) → eval_2(minus_int(x, pos(s(0))), y)
eval_1(x, y) → Cond_eval_11(and(and(greater_int(x, pos(0)), greater_int(y, pos(0))), greatereq_int(y, x)), x, y)
Cond_eval_31(true, x, y) → eval_1(x, y)
Cond_eval_21(true, x, y) → eval_1(x, y)
eval_3(x, y) → Cond_eval_3(greater_int(y, pos(0)), x, y)
eval_2(x, y) → Cond_eval_21(greatereq_int(pos(0), x), x, y)
eval_2(x, y) → Cond_eval_2(greater_int(x, pos(0)), x, y)
greatereq_int(pos(x), pos(0)) → true
greatereq_int(neg(0), pos(0)) → true
greatereq_int(neg(0), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(0), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(0)) → false
greatereq_int(neg(s(x)), neg(0)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), neg(y)) → minus_nat(y, x)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
minus_int(pos(x), neg(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), neg(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(neg(0), neg(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(neg(0), pos(s(y))) → false
greater_int(pos(0), neg(s(y))) → true
greater_int(neg(0), neg(s(y))) → true
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
greater_int(pos(s(x)), neg(0)) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
eval_3(x0, x1)
Cond_eval_3(true, x0, x1)
eval_1(x0, x1)
Cond_eval_11(true, x0, x1)
Cond_eval_1(true, x0, x1)
Cond_eval_2(true, x0, x1)
Cond_eval_31(true, x0, x1)
Cond_eval_21(true, x0, x1)
eval_2(x0, x1)
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
MINUS_NAT(s(x), s(y)) → MINUS_NAT(x, y)
eval_3(x0, x1)
Cond_eval_3(true, x0, x1)
eval_1(x0, x1)
Cond_eval_11(true, x0, x1)
Cond_eval_1(true, x0, x1)
Cond_eval_2(true, x0, x1)
Cond_eval_31(true, x0, x1)
Cond_eval_21(true, x0, x1)
eval_2(x0, x1)
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
eval_3(x0, x1)
Cond_eval_3(true, x0, x1)
eval_1(x0, x1)
Cond_eval_11(true, x0, x1)
Cond_eval_1(true, x0, x1)
Cond_eval_2(true, x0, x1)
Cond_eval_31(true, x0, x1)
Cond_eval_21(true, x0, x1)
eval_2(x0, x1)
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
MINUS_NAT(s(x), s(y)) → MINUS_NAT(x, y)
From the DPs we obtained the following set of size-change graphs:
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
↳ QDP
PLUS_NAT(s(x), y) → PLUS_NAT(x, y)
eval_3(x, y) → Cond_eval_31(greatereq_int(pos(0), y), x, y)
Cond_eval_3(true, x, y) → eval_3(x, minus_int(y, pos(s(0))))
eval_1(x, y) → Cond_eval_1(and(and(greater_int(x, pos(0)), greater_int(y, pos(0))), greater_int(x, y)), x, y)
Cond_eval_11(true, x, y) → eval_3(x, y)
Cond_eval_1(true, x, y) → eval_2(x, y)
Cond_eval_2(true, x, y) → eval_2(minus_int(x, pos(s(0))), y)
eval_1(x, y) → Cond_eval_11(and(and(greater_int(x, pos(0)), greater_int(y, pos(0))), greatereq_int(y, x)), x, y)
Cond_eval_31(true, x, y) → eval_1(x, y)
Cond_eval_21(true, x, y) → eval_1(x, y)
eval_3(x, y) → Cond_eval_3(greater_int(y, pos(0)), x, y)
eval_2(x, y) → Cond_eval_21(greatereq_int(pos(0), x), x, y)
eval_2(x, y) → Cond_eval_2(greater_int(x, pos(0)), x, y)
greatereq_int(pos(x), pos(0)) → true
greatereq_int(neg(0), pos(0)) → true
greatereq_int(neg(0), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(0), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(0)) → false
greatereq_int(neg(s(x)), neg(0)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), neg(y)) → minus_nat(y, x)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
minus_int(pos(x), neg(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), neg(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(neg(0), neg(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(neg(0), pos(s(y))) → false
greater_int(pos(0), neg(s(y))) → true
greater_int(neg(0), neg(s(y))) → true
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
greater_int(pos(s(x)), neg(0)) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
eval_3(x0, x1)
Cond_eval_3(true, x0, x1)
eval_1(x0, x1)
Cond_eval_11(true, x0, x1)
Cond_eval_1(true, x0, x1)
Cond_eval_2(true, x0, x1)
Cond_eval_31(true, x0, x1)
Cond_eval_21(true, x0, x1)
eval_2(x0, x1)
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDP
↳ QDP
PLUS_NAT(s(x), y) → PLUS_NAT(x, y)
eval_3(x0, x1)
Cond_eval_3(true, x0, x1)
eval_1(x0, x1)
Cond_eval_11(true, x0, x1)
Cond_eval_1(true, x0, x1)
Cond_eval_2(true, x0, x1)
Cond_eval_31(true, x0, x1)
Cond_eval_21(true, x0, x1)
eval_2(x0, x1)
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
eval_3(x0, x1)
Cond_eval_3(true, x0, x1)
eval_1(x0, x1)
Cond_eval_11(true, x0, x1)
Cond_eval_1(true, x0, x1)
Cond_eval_2(true, x0, x1)
Cond_eval_31(true, x0, x1)
Cond_eval_21(true, x0, x1)
eval_2(x0, x1)
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
↳ QDP
↳ QDP
PLUS_NAT(s(x), y) → PLUS_NAT(x, y)
From the DPs we obtained the following set of size-change graphs:
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
GREATEREQ_INT(neg(s(x)), neg(s(y))) → GREATEREQ_INT(neg(x), neg(y))
eval_3(x, y) → Cond_eval_31(greatereq_int(pos(0), y), x, y)
Cond_eval_3(true, x, y) → eval_3(x, minus_int(y, pos(s(0))))
eval_1(x, y) → Cond_eval_1(and(and(greater_int(x, pos(0)), greater_int(y, pos(0))), greater_int(x, y)), x, y)
Cond_eval_11(true, x, y) → eval_3(x, y)
Cond_eval_1(true, x, y) → eval_2(x, y)
Cond_eval_2(true, x, y) → eval_2(minus_int(x, pos(s(0))), y)
eval_1(x, y) → Cond_eval_11(and(and(greater_int(x, pos(0)), greater_int(y, pos(0))), greatereq_int(y, x)), x, y)
Cond_eval_31(true, x, y) → eval_1(x, y)
Cond_eval_21(true, x, y) → eval_1(x, y)
eval_3(x, y) → Cond_eval_3(greater_int(y, pos(0)), x, y)
eval_2(x, y) → Cond_eval_21(greatereq_int(pos(0), x), x, y)
eval_2(x, y) → Cond_eval_2(greater_int(x, pos(0)), x, y)
greatereq_int(pos(x), pos(0)) → true
greatereq_int(neg(0), pos(0)) → true
greatereq_int(neg(0), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(0), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(0)) → false
greatereq_int(neg(s(x)), neg(0)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), neg(y)) → minus_nat(y, x)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
minus_int(pos(x), neg(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), neg(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(neg(0), neg(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(neg(0), pos(s(y))) → false
greater_int(pos(0), neg(s(y))) → true
greater_int(neg(0), neg(s(y))) → true
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
greater_int(pos(s(x)), neg(0)) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
eval_3(x0, x1)
Cond_eval_3(true, x0, x1)
eval_1(x0, x1)
Cond_eval_11(true, x0, x1)
Cond_eval_1(true, x0, x1)
Cond_eval_2(true, x0, x1)
Cond_eval_31(true, x0, x1)
Cond_eval_21(true, x0, x1)
eval_2(x0, x1)
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDP
GREATEREQ_INT(neg(s(x)), neg(s(y))) → GREATEREQ_INT(neg(x), neg(y))
eval_3(x0, x1)
Cond_eval_3(true, x0, x1)
eval_1(x0, x1)
Cond_eval_11(true, x0, x1)
Cond_eval_1(true, x0, x1)
Cond_eval_2(true, x0, x1)
Cond_eval_31(true, x0, x1)
Cond_eval_21(true, x0, x1)
eval_2(x0, x1)
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
eval_3(x0, x1)
Cond_eval_3(true, x0, x1)
eval_1(x0, x1)
Cond_eval_11(true, x0, x1)
Cond_eval_1(true, x0, x1)
Cond_eval_2(true, x0, x1)
Cond_eval_31(true, x0, x1)
Cond_eval_21(true, x0, x1)
eval_2(x0, x1)
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ UsableRulesReductionPairsProof
↳ QDP
↳ QDP
GREATEREQ_INT(neg(s(x)), neg(s(y))) → GREATEREQ_INT(neg(x), neg(y))
No rules are removed from R.
GREATEREQ_INT(neg(s(x)), neg(s(y))) → GREATEREQ_INT(neg(x), neg(y))
POL(GREATEREQ_INT(x1, x2)) = 2·x1 + x2
POL(neg(x1)) = x1
POL(s(x1)) = 2·x1
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ UsableRulesReductionPairsProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
GREATEREQ_INT(pos(s(x)), pos(s(y))) → GREATEREQ_INT(pos(x), pos(y))
eval_3(x, y) → Cond_eval_31(greatereq_int(pos(0), y), x, y)
Cond_eval_3(true, x, y) → eval_3(x, minus_int(y, pos(s(0))))
eval_1(x, y) → Cond_eval_1(and(and(greater_int(x, pos(0)), greater_int(y, pos(0))), greater_int(x, y)), x, y)
Cond_eval_11(true, x, y) → eval_3(x, y)
Cond_eval_1(true, x, y) → eval_2(x, y)
Cond_eval_2(true, x, y) → eval_2(minus_int(x, pos(s(0))), y)
eval_1(x, y) → Cond_eval_11(and(and(greater_int(x, pos(0)), greater_int(y, pos(0))), greatereq_int(y, x)), x, y)
Cond_eval_31(true, x, y) → eval_1(x, y)
Cond_eval_21(true, x, y) → eval_1(x, y)
eval_3(x, y) → Cond_eval_3(greater_int(y, pos(0)), x, y)
eval_2(x, y) → Cond_eval_21(greatereq_int(pos(0), x), x, y)
eval_2(x, y) → Cond_eval_2(greater_int(x, pos(0)), x, y)
greatereq_int(pos(x), pos(0)) → true
greatereq_int(neg(0), pos(0)) → true
greatereq_int(neg(0), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(0), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(0)) → false
greatereq_int(neg(s(x)), neg(0)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), neg(y)) → minus_nat(y, x)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
minus_int(pos(x), neg(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), neg(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(neg(0), neg(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(neg(0), pos(s(y))) → false
greater_int(pos(0), neg(s(y))) → true
greater_int(neg(0), neg(s(y))) → true
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
greater_int(pos(s(x)), neg(0)) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
eval_3(x0, x1)
Cond_eval_3(true, x0, x1)
eval_1(x0, x1)
Cond_eval_11(true, x0, x1)
Cond_eval_1(true, x0, x1)
Cond_eval_2(true, x0, x1)
Cond_eval_31(true, x0, x1)
Cond_eval_21(true, x0, x1)
eval_2(x0, x1)
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
GREATEREQ_INT(pos(s(x)), pos(s(y))) → GREATEREQ_INT(pos(x), pos(y))
eval_3(x0, x1)
Cond_eval_3(true, x0, x1)
eval_1(x0, x1)
Cond_eval_11(true, x0, x1)
Cond_eval_1(true, x0, x1)
Cond_eval_2(true, x0, x1)
Cond_eval_31(true, x0, x1)
Cond_eval_21(true, x0, x1)
eval_2(x0, x1)
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
eval_3(x0, x1)
Cond_eval_3(true, x0, x1)
eval_1(x0, x1)
Cond_eval_11(true, x0, x1)
Cond_eval_1(true, x0, x1)
Cond_eval_2(true, x0, x1)
Cond_eval_31(true, x0, x1)
Cond_eval_21(true, x0, x1)
eval_2(x0, x1)
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ UsableRulesReductionPairsProof
↳ QDP
GREATEREQ_INT(pos(s(x)), pos(s(y))) → GREATEREQ_INT(pos(x), pos(y))
No rules are removed from R.
GREATEREQ_INT(pos(s(x)), pos(s(y))) → GREATEREQ_INT(pos(x), pos(y))
POL(GREATEREQ_INT(x1, x2)) = 2·x1 + x2
POL(pos(x1)) = x1
POL(s(x1)) = 2·x1
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ UsableRulesReductionPairsProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
COND_EVAL_31(true, x, y) → EVAL_1(x, y)
EVAL_1(x, y) → COND_EVAL_1(and(and(greater_int(x, pos(0)), greater_int(y, pos(0))), greater_int(x, y)), x, y)
COND_EVAL_1(true, x, y) → EVAL_2(x, y)
EVAL_2(x, y) → COND_EVAL_21(greatereq_int(pos(0), x), x, y)
COND_EVAL_21(true, x, y) → EVAL_1(x, y)
EVAL_1(x, y) → COND_EVAL_11(and(and(greater_int(x, pos(0)), greater_int(y, pos(0))), greatereq_int(y, x)), x, y)
COND_EVAL_11(true, x, y) → EVAL_3(x, y)
EVAL_3(x, y) → COND_EVAL_31(greatereq_int(pos(0), y), x, y)
EVAL_3(x, y) → COND_EVAL_3(greater_int(y, pos(0)), x, y)
COND_EVAL_3(true, x, y) → EVAL_3(x, minus_int(y, pos(s(0))))
EVAL_2(x, y) → COND_EVAL_2(greater_int(x, pos(0)), x, y)
COND_EVAL_2(true, x, y) → EVAL_2(minus_int(x, pos(s(0))), y)
eval_3(x, y) → Cond_eval_31(greatereq_int(pos(0), y), x, y)
Cond_eval_3(true, x, y) → eval_3(x, minus_int(y, pos(s(0))))
eval_1(x, y) → Cond_eval_1(and(and(greater_int(x, pos(0)), greater_int(y, pos(0))), greater_int(x, y)), x, y)
Cond_eval_11(true, x, y) → eval_3(x, y)
Cond_eval_1(true, x, y) → eval_2(x, y)
Cond_eval_2(true, x, y) → eval_2(minus_int(x, pos(s(0))), y)
eval_1(x, y) → Cond_eval_11(and(and(greater_int(x, pos(0)), greater_int(y, pos(0))), greatereq_int(y, x)), x, y)
Cond_eval_31(true, x, y) → eval_1(x, y)
Cond_eval_21(true, x, y) → eval_1(x, y)
eval_3(x, y) → Cond_eval_3(greater_int(y, pos(0)), x, y)
eval_2(x, y) → Cond_eval_21(greatereq_int(pos(0), x), x, y)
eval_2(x, y) → Cond_eval_2(greater_int(x, pos(0)), x, y)
greatereq_int(pos(x), pos(0)) → true
greatereq_int(neg(0), pos(0)) → true
greatereq_int(neg(0), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(0), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(0)) → false
greatereq_int(neg(s(x)), neg(0)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), neg(y)) → minus_nat(y, x)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
minus_int(pos(x), neg(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), neg(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(neg(0), neg(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(neg(0), pos(s(y))) → false
greater_int(pos(0), neg(s(y))) → true
greater_int(neg(0), neg(s(y))) → true
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
greater_int(pos(s(x)), neg(0)) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
eval_3(x0, x1)
Cond_eval_3(true, x0, x1)
eval_1(x0, x1)
Cond_eval_11(true, x0, x1)
Cond_eval_1(true, x0, x1)
Cond_eval_2(true, x0, x1)
Cond_eval_31(true, x0, x1)
Cond_eval_21(true, x0, x1)
eval_2(x0, x1)
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
COND_EVAL_31(true, x, y) → EVAL_1(x, y)
EVAL_1(x, y) → COND_EVAL_1(and(and(greater_int(x, pos(0)), greater_int(y, pos(0))), greater_int(x, y)), x, y)
COND_EVAL_1(true, x, y) → EVAL_2(x, y)
EVAL_2(x, y) → COND_EVAL_21(greatereq_int(pos(0), x), x, y)
COND_EVAL_21(true, x, y) → EVAL_1(x, y)
EVAL_1(x, y) → COND_EVAL_11(and(and(greater_int(x, pos(0)), greater_int(y, pos(0))), greatereq_int(y, x)), x, y)
COND_EVAL_11(true, x, y) → EVAL_3(x, y)
EVAL_3(x, y) → COND_EVAL_31(greatereq_int(pos(0), y), x, y)
EVAL_3(x, y) → COND_EVAL_3(greater_int(y, pos(0)), x, y)
COND_EVAL_3(true, x, y) → EVAL_3(x, minus_int(y, pos(s(0))))
EVAL_2(x, y) → COND_EVAL_2(greater_int(x, pos(0)), x, y)
COND_EVAL_2(true, x, y) → EVAL_2(minus_int(x, pos(s(0))), y)
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(0), pos(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
greater_int(pos(0), neg(0)) → false
greater_int(neg(0), neg(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(neg(0), pos(s(y))) → false
greater_int(pos(0), neg(s(y))) → true
greater_int(neg(0), neg(s(y))) → true
greater_int(pos(s(x)), neg(0)) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
greatereq_int(pos(x), pos(0)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(0), pos(s(y))) → false
greatereq_int(neg(0), pos(0)) → true
greatereq_int(neg(0), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(0)) → false
greatereq_int(neg(s(x)), neg(0)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
eval_3(x0, x1)
Cond_eval_3(true, x0, x1)
eval_1(x0, x1)
Cond_eval_11(true, x0, x1)
Cond_eval_1(true, x0, x1)
Cond_eval_2(true, x0, x1)
Cond_eval_31(true, x0, x1)
Cond_eval_21(true, x0, x1)
eval_2(x0, x1)
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
eval_3(x0, x1)
Cond_eval_3(true, x0, x1)
eval_1(x0, x1)
Cond_eval_11(true, x0, x1)
Cond_eval_1(true, x0, x1)
Cond_eval_2(true, x0, x1)
Cond_eval_31(true, x0, x1)
Cond_eval_21(true, x0, x1)
eval_2(x0, x1)
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
COND_EVAL_31(true, x, y) → EVAL_1(x, y)
EVAL_1(x, y) → COND_EVAL_1(and(and(greater_int(x, pos(0)), greater_int(y, pos(0))), greater_int(x, y)), x, y)
COND_EVAL_1(true, x, y) → EVAL_2(x, y)
EVAL_2(x, y) → COND_EVAL_21(greatereq_int(pos(0), x), x, y)
COND_EVAL_21(true, x, y) → EVAL_1(x, y)
EVAL_1(x, y) → COND_EVAL_11(and(and(greater_int(x, pos(0)), greater_int(y, pos(0))), greatereq_int(y, x)), x, y)
COND_EVAL_11(true, x, y) → EVAL_3(x, y)
EVAL_3(x, y) → COND_EVAL_31(greatereq_int(pos(0), y), x, y)
EVAL_3(x, y) → COND_EVAL_3(greater_int(y, pos(0)), x, y)
COND_EVAL_3(true, x, y) → EVAL_3(x, minus_int(y, pos(s(0))))
EVAL_2(x, y) → COND_EVAL_2(greater_int(x, pos(0)), x, y)
COND_EVAL_2(true, x, y) → EVAL_2(minus_int(x, pos(s(0))), y)
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(0), pos(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
greater_int(pos(0), neg(0)) → false
greater_int(neg(0), neg(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(neg(0), pos(s(y))) → false
greater_int(pos(0), neg(s(y))) → true
greater_int(neg(0), neg(s(y))) → true
greater_int(pos(s(x)), neg(0)) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
greatereq_int(pos(x), pos(0)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(0), pos(s(y))) → false
greatereq_int(neg(0), pos(0)) → true
greatereq_int(neg(0), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(0)) → false
greatereq_int(neg(s(x)), neg(0)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ QDP
↳ NonInfProof
COND_EVAL_31(true, x, y, x_removed) → EVAL_1(x, y, x_removed)
EVAL_1(x, y, x_removed) → COND_EVAL_1(and(and(greater_int(x, pos(0)), greater_int(y, pos(0))), greater_int(x, y)), x, y, x_removed)
EVAL_1(x, y, x_removed) → COND_EVAL_11(and(and(greater_int(x, pos(0)), greater_int(y, pos(0))), greatereq_int(y, x)), x, y, x_removed)
COND_EVAL_1(true, x, y, x_removed) → EVAL_2(x, y, x_removed)
EVAL_2(x, y, x_removed) → COND_EVAL_21(greatereq_int(pos(0), x), x, y, x_removed)
EVAL_2(x, y, x_removed) → COND_EVAL_2(greater_int(x, pos(0)), x, y, x_removed)
COND_EVAL_21(true, x, y, x_removed) → EVAL_1(x, y, x_removed)
COND_EVAL_11(true, x, y, x_removed) → EVAL_3(x, y, x_removed)
EVAL_3(x, y, x_removed) → COND_EVAL_31(greatereq_int(pos(0), y), x, y, x_removed)
EVAL_3(x, y, x_removed) → COND_EVAL_3(greater_int(y, pos(0)), x, y, x_removed)
COND_EVAL_3(true, x, y, x_removed) → EVAL_3(x, minus_int(y, x_removed), x_removed)
COND_EVAL_2(true, x, y, x_removed) → EVAL_2(minus_int(x, x_removed), y, x_removed)
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(0), pos(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
greater_int(pos(0), neg(0)) → false
greater_int(neg(0), neg(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(neg(0), pos(s(y))) → false
greater_int(pos(0), neg(s(y))) → true
greater_int(neg(0), neg(s(y))) → true
greater_int(pos(s(x)), neg(0)) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
greatereq_int(pos(x), pos(0)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(0), pos(s(y))) → false
greatereq_int(neg(0), pos(0)) → true
greatereq_int(neg(0), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(0)) → false
greatereq_int(neg(s(x)), neg(0)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
(1) (COND_EVAL_31(greatereq_int(pos(0), x25), x24, x25, x26)=COND_EVAL_31(true, x27, x28, x29) ⇒ COND_EVAL_31(true, x27, x28, x29)≥EVAL_1(x27, x28, x29))
(2) (pos(0)=x486∧greatereq_int(x486, x25)=true ⇒ COND_EVAL_31(true, x24, x25, x26)≥EVAL_1(x24, x25, x26))
(3) (true=true∧pos(0)=pos(x487) ⇒ COND_EVAL_31(true, x24, pos(0), x26)≥EVAL_1(x24, pos(0), x26))
(4) (true=true∧pos(0)=pos(x489) ⇒ COND_EVAL_31(true, x24, neg(x488), x26)≥EVAL_1(x24, neg(x488), x26))
(5) (true=true∧pos(0)=neg(0) ⇒ COND_EVAL_31(true, x24, pos(0), x26)≥EVAL_1(x24, pos(0), x26))
(6) (true=true∧pos(0)=neg(0) ⇒ COND_EVAL_31(true, x24, neg(x491), x26)≥EVAL_1(x24, neg(x491), x26))
(7) (greatereq_int(pos(x497), pos(x496))=true∧pos(0)=pos(s(x497))∧(∀x498,x499:greatereq_int(pos(x497), pos(x496))=true∧pos(0)=pos(x497) ⇒ COND_EVAL_31(true, x498, pos(x496), x499)≥EVAL_1(x498, pos(x496), x499)) ⇒ COND_EVAL_31(true, x24, pos(s(x496)), x26)≥EVAL_1(x24, pos(s(x496)), x26))
(8) (greatereq_int(neg(x501), neg(x500))=true∧pos(0)=neg(s(x501))∧(∀x502,x503:greatereq_int(neg(x501), neg(x500))=true∧pos(0)=neg(x501) ⇒ COND_EVAL_31(true, x502, neg(x500), x503)≥EVAL_1(x502, neg(x500), x503)) ⇒ COND_EVAL_31(true, x24, neg(s(x500)), x26)≥EVAL_1(x24, neg(s(x500)), x26))
(9) (COND_EVAL_31(true, x24, pos(0), x26)≥EVAL_1(x24, pos(0), x26))
(10) (COND_EVAL_31(true, x24, neg(x488), x26)≥EVAL_1(x24, neg(x488), x26))
(11) (EVAL_1(x39, x40, x41)=EVAL_1(x42, x43, x44) ⇒ EVAL_1(x42, x43, x44)≥COND_EVAL_1(and(and(greater_int(x42, pos(0)), greater_int(x43, pos(0))), greater_int(x42, x43)), x42, x43, x44))
(12) (EVAL_1(x39, x40, x41)≥COND_EVAL_1(and(and(greater_int(x39, pos(0)), greater_int(x40, pos(0))), greater_int(x39, x40)), x39, x40, x41))
(13) (EVAL_1(x60, x61, x62)=EVAL_1(x63, x64, x65) ⇒ EVAL_1(x63, x64, x65)≥COND_EVAL_1(and(and(greater_int(x63, pos(0)), greater_int(x64, pos(0))), greater_int(x63, x64)), x63, x64, x65))
(14) (EVAL_1(x60, x61, x62)≥COND_EVAL_1(and(and(greater_int(x60, pos(0)), greater_int(x61, pos(0))), greater_int(x60, x61)), x60, x61, x62))
(15) (EVAL_1(x81, x82, x83)=EVAL_1(x84, x85, x86) ⇒ EVAL_1(x84, x85, x86)≥COND_EVAL_11(and(and(greater_int(x84, pos(0)), greater_int(x85, pos(0))), greatereq_int(x85, x84)), x84, x85, x86))
(16) (EVAL_1(x81, x82, x83)≥COND_EVAL_11(and(and(greater_int(x81, pos(0)), greater_int(x82, pos(0))), greatereq_int(x82, x81)), x81, x82, x83))
(17) (EVAL_1(x102, x103, x104)=EVAL_1(x105, x106, x107) ⇒ EVAL_1(x105, x106, x107)≥COND_EVAL_11(and(and(greater_int(x105, pos(0)), greater_int(x106, pos(0))), greatereq_int(x106, x105)), x105, x106, x107))
(18) (EVAL_1(x102, x103, x104)≥COND_EVAL_11(and(and(greater_int(x102, pos(0)), greater_int(x103, pos(0))), greatereq_int(x103, x102)), x102, x103, x104))
(19) (COND_EVAL_1(and(and(greater_int(x126, pos(0)), greater_int(x127, pos(0))), greater_int(x126, x127)), x126, x127, x128)=COND_EVAL_1(true, x129, x130, x131) ⇒ COND_EVAL_1(true, x129, x130, x131)≥EVAL_2(x129, x130, x131))
(20) (and(x506, x507)=x504∧greater_int(x126, x127)=x505∧and(x504, x505)=true ⇒ COND_EVAL_1(true, x126, x127, x128)≥EVAL_2(x126, x127, x128))
(21) (true=true∧and(x506, x507)=true∧greater_int(x126, x127)=true ⇒ COND_EVAL_1(true, x126, x127, x128)≥EVAL_2(x126, x127, x128))
(22) (and(x506, x507)=true∧greater_int(x126, x127)=true ⇒ COND_EVAL_1(true, x126, x127, x128)≥EVAL_2(x126, x127, x128))
(23) (true=true∧greater_int(x126, x127)=true ⇒ COND_EVAL_1(true, x126, x127, x128)≥EVAL_2(x126, x127, x128))
(24) (greater_int(x126, x127)=true ⇒ COND_EVAL_1(true, x126, x127, x128)≥EVAL_2(x126, x127, x128))
(25) (true=true ⇒ COND_EVAL_1(true, pos(s(x510)), pos(0), x128)≥EVAL_2(pos(s(x510)), pos(0), x128))
(26) (true=true ⇒ COND_EVAL_1(true, pos(0), neg(s(x514)), x128)≥EVAL_2(pos(0), neg(s(x514)), x128))
(27) (true=true ⇒ COND_EVAL_1(true, neg(0), neg(s(x515)), x128)≥EVAL_2(neg(0), neg(s(x515)), x128))
(28) (true=true ⇒ COND_EVAL_1(true, pos(s(x516)), neg(0), x128)≥EVAL_2(pos(s(x516)), neg(0), x128))
(29) (true=true ⇒ COND_EVAL_1(true, pos(s(x519)), neg(s(x518)), x128)≥EVAL_2(pos(s(x519)), neg(s(x518)), x128))
(30) (greater_int(pos(x523), pos(x522))=true∧(∀x524:greater_int(pos(x523), pos(x522))=true ⇒ COND_EVAL_1(true, pos(x523), pos(x522), x524)≥EVAL_2(pos(x523), pos(x522), x524)) ⇒ COND_EVAL_1(true, pos(s(x523)), pos(s(x522)), x128)≥EVAL_2(pos(s(x523)), pos(s(x522)), x128))
(31) (greater_int(neg(x526), neg(x525))=true∧(∀x527:greater_int(neg(x526), neg(x525))=true ⇒ COND_EVAL_1(true, neg(x526), neg(x525), x527)≥EVAL_2(neg(x526), neg(x525), x527)) ⇒ COND_EVAL_1(true, neg(s(x526)), neg(s(x525)), x128)≥EVAL_2(neg(s(x526)), neg(s(x525)), x128))
(32) (COND_EVAL_1(true, pos(s(x510)), pos(0), x128)≥EVAL_2(pos(s(x510)), pos(0), x128))
(33) (COND_EVAL_1(true, pos(0), neg(s(x514)), x128)≥EVAL_2(pos(0), neg(s(x514)), x128))
(34) (COND_EVAL_1(true, neg(0), neg(s(x515)), x128)≥EVAL_2(neg(0), neg(s(x515)), x128))
(35) (COND_EVAL_1(true, pos(s(x516)), neg(0), x128)≥EVAL_2(pos(s(x516)), neg(0), x128))
(36) (COND_EVAL_1(true, pos(s(x519)), neg(s(x518)), x128)≥EVAL_2(pos(s(x519)), neg(s(x518)), x128))
(37) (COND_EVAL_1(true, pos(x523), pos(x522), x128)≥EVAL_2(pos(x523), pos(x522), x128) ⇒ COND_EVAL_1(true, pos(s(x523)), pos(s(x522)), x128)≥EVAL_2(pos(s(x523)), pos(s(x522)), x128))
(38) (COND_EVAL_1(true, neg(x526), neg(x525), x128)≥EVAL_2(neg(x526), neg(x525), x128) ⇒ COND_EVAL_1(true, neg(s(x526)), neg(s(x525)), x128)≥EVAL_2(neg(s(x526)), neg(s(x525)), x128))
(39) (EVAL_2(x171, x172, x173)=EVAL_2(x174, x175, x176) ⇒ EVAL_2(x174, x175, x176)≥COND_EVAL_21(greatereq_int(pos(0), x174), x174, x175, x176))
(40) (EVAL_2(x171, x172, x173)≥COND_EVAL_21(greatereq_int(pos(0), x171), x171, x172, x173))
(41) (EVAL_2(minus_int(x198, x200), x199, x200)=EVAL_2(x201, x202, x203) ⇒ EVAL_2(x201, x202, x203)≥COND_EVAL_21(greatereq_int(pos(0), x201), x201, x202, x203))
(42) (EVAL_2(x201, x199, x200)≥COND_EVAL_21(greatereq_int(pos(0), x201), x201, x199, x200))
(43) (EVAL_2(x213, x214, x215)=EVAL_2(x216, x217, x218) ⇒ EVAL_2(x216, x217, x218)≥COND_EVAL_2(greater_int(x216, pos(0)), x216, x217, x218))
(44) (EVAL_2(x213, x214, x215)≥COND_EVAL_2(greater_int(x213, pos(0)), x213, x214, x215))
(45) (EVAL_2(minus_int(x240, x242), x241, x242)=EVAL_2(x243, x244, x245) ⇒ EVAL_2(x243, x244, x245)≥COND_EVAL_2(greater_int(x243, pos(0)), x243, x244, x245))
(46) (EVAL_2(x243, x241, x242)≥COND_EVAL_2(greater_int(x243, pos(0)), x243, x241, x242))
(47) (COND_EVAL_21(greatereq_int(pos(0), x258), x258, x259, x260)=COND_EVAL_21(true, x261, x262, x263) ⇒ COND_EVAL_21(true, x261, x262, x263)≥EVAL_1(x261, x262, x263))
(48) (pos(0)=x528∧greatereq_int(x528, x258)=true ⇒ COND_EVAL_21(true, x258, x259, x260)≥EVAL_1(x258, x259, x260))
(49) (true=true∧pos(0)=pos(x529) ⇒ COND_EVAL_21(true, pos(0), x259, x260)≥EVAL_1(pos(0), x259, x260))
(50) (true=true∧pos(0)=pos(x531) ⇒ COND_EVAL_21(true, neg(x530), x259, x260)≥EVAL_1(neg(x530), x259, x260))
(51) (true=true∧pos(0)=neg(0) ⇒ COND_EVAL_21(true, pos(0), x259, x260)≥EVAL_1(pos(0), x259, x260))
(52) (true=true∧pos(0)=neg(0) ⇒ COND_EVAL_21(true, neg(x533), x259, x260)≥EVAL_1(neg(x533), x259, x260))
(53) (greatereq_int(pos(x539), pos(x538))=true∧pos(0)=pos(s(x539))∧(∀x540,x541:greatereq_int(pos(x539), pos(x538))=true∧pos(0)=pos(x539) ⇒ COND_EVAL_21(true, pos(x538), x540, x541)≥EVAL_1(pos(x538), x540, x541)) ⇒ COND_EVAL_21(true, pos(s(x538)), x259, x260)≥EVAL_1(pos(s(x538)), x259, x260))
(54) (greatereq_int(neg(x543), neg(x542))=true∧pos(0)=neg(s(x543))∧(∀x544,x545:greatereq_int(neg(x543), neg(x542))=true∧pos(0)=neg(x543) ⇒ COND_EVAL_21(true, neg(x542), x544, x545)≥EVAL_1(neg(x542), x544, x545)) ⇒ COND_EVAL_21(true, neg(s(x542)), x259, x260)≥EVAL_1(neg(s(x542)), x259, x260))
(55) (COND_EVAL_21(true, pos(0), x259, x260)≥EVAL_1(pos(0), x259, x260))
(56) (COND_EVAL_21(true, neg(x530), x259, x260)≥EVAL_1(neg(x530), x259, x260))
(57) (COND_EVAL_11(and(and(greater_int(x291, pos(0)), greater_int(x292, pos(0))), greatereq_int(x292, x291)), x291, x292, x293)=COND_EVAL_11(true, x294, x295, x296) ⇒ COND_EVAL_11(true, x294, x295, x296)≥EVAL_3(x294, x295, x296))
(58) (and(x548, x549)=x546∧greatereq_int(x292, x291)=x547∧and(x546, x547)=true ⇒ COND_EVAL_11(true, x291, x292, x293)≥EVAL_3(x291, x292, x293))
(59) (true=true∧and(x548, x549)=true∧greatereq_int(x292, x291)=true ⇒ COND_EVAL_11(true, x291, x292, x293)≥EVAL_3(x291, x292, x293))
(60) (and(x548, x549)=true∧greatereq_int(x292, x291)=true ⇒ COND_EVAL_11(true, x291, x292, x293)≥EVAL_3(x291, x292, x293))
(61) (true=true∧greatereq_int(x292, x291)=true ⇒ COND_EVAL_11(true, x291, x292, x293)≥EVAL_3(x291, x292, x293))
(62) (greatereq_int(x292, x291)=true ⇒ COND_EVAL_11(true, x291, x292, x293)≥EVAL_3(x291, x292, x293))
(63) (true=true ⇒ COND_EVAL_11(true, pos(0), pos(x552), x293)≥EVAL_3(pos(0), pos(x552), x293))
(64) (true=true ⇒ COND_EVAL_11(true, neg(x553), pos(x554), x293)≥EVAL_3(neg(x553), pos(x554), x293))
(65) (true=true ⇒ COND_EVAL_11(true, pos(0), neg(0), x293)≥EVAL_3(pos(0), neg(0), x293))
(66) (true=true ⇒ COND_EVAL_11(true, neg(x556), neg(0), x293)≥EVAL_3(neg(x556), neg(0), x293))
(67) (greatereq_int(pos(x562), pos(x561))=true∧(∀x563:greatereq_int(pos(x562), pos(x561))=true ⇒ COND_EVAL_11(true, pos(x561), pos(x562), x563)≥EVAL_3(pos(x561), pos(x562), x563)) ⇒ COND_EVAL_11(true, pos(s(x561)), pos(s(x562)), x293)≥EVAL_3(pos(s(x561)), pos(s(x562)), x293))
(68) (greatereq_int(neg(x565), neg(x564))=true∧(∀x566:greatereq_int(neg(x565), neg(x564))=true ⇒ COND_EVAL_11(true, neg(x564), neg(x565), x566)≥EVAL_3(neg(x564), neg(x565), x566)) ⇒ COND_EVAL_11(true, neg(s(x564)), neg(s(x565)), x293)≥EVAL_3(neg(s(x564)), neg(s(x565)), x293))
(69) (COND_EVAL_11(true, pos(0), pos(x552), x293)≥EVAL_3(pos(0), pos(x552), x293))
(70) (COND_EVAL_11(true, neg(x553), pos(x554), x293)≥EVAL_3(neg(x553), pos(x554), x293))
(71) (COND_EVAL_11(true, pos(0), neg(0), x293)≥EVAL_3(pos(0), neg(0), x293))
(72) (COND_EVAL_11(true, neg(x556), neg(0), x293)≥EVAL_3(neg(x556), neg(0), x293))
(73) (COND_EVAL_11(true, pos(x561), pos(x562), x293)≥EVAL_3(pos(x561), pos(x562), x293) ⇒ COND_EVAL_11(true, pos(s(x561)), pos(s(x562)), x293)≥EVAL_3(pos(s(x561)), pos(s(x562)), x293))
(74) (COND_EVAL_11(true, neg(x564), neg(x565), x293)≥EVAL_3(neg(x564), neg(x565), x293) ⇒ COND_EVAL_11(true, neg(s(x564)), neg(s(x565)), x293)≥EVAL_3(neg(s(x564)), neg(s(x565)), x293))
(75) (EVAL_3(x345, x346, x347)=EVAL_3(x348, x349, x350) ⇒ EVAL_3(x348, x349, x350)≥COND_EVAL_31(greatereq_int(pos(0), x349), x348, x349, x350))
(76) (EVAL_3(x345, x346, x347)≥COND_EVAL_31(greatereq_int(pos(0), x346), x345, x346, x347))
(77) (EVAL_3(x357, minus_int(x358, x359), x359)=EVAL_3(x360, x361, x362) ⇒ EVAL_3(x360, x361, x362)≥COND_EVAL_31(greatereq_int(pos(0), x361), x360, x361, x362))
(78) (EVAL_3(x357, x361, x359)≥COND_EVAL_31(greatereq_int(pos(0), x361), x357, x361, x359))
(79) (EVAL_3(x387, x388, x389)=EVAL_3(x390, x391, x392) ⇒ EVAL_3(x390, x391, x392)≥COND_EVAL_3(greater_int(x391, pos(0)), x390, x391, x392))
(80) (EVAL_3(x387, x388, x389)≥COND_EVAL_3(greater_int(x388, pos(0)), x387, x388, x389))
(81) (EVAL_3(x399, minus_int(x400, x401), x401)=EVAL_3(x402, x403, x404) ⇒ EVAL_3(x402, x403, x404)≥COND_EVAL_3(greater_int(x403, pos(0)), x402, x403, x404))
(82) (EVAL_3(x399, x403, x401)≥COND_EVAL_3(greater_int(x403, pos(0)), x399, x403, x401))
(83) (COND_EVAL_3(greater_int(x436, pos(0)), x435, x436, x437)=COND_EVAL_3(true, x438, x439, x440) ⇒ COND_EVAL_3(true, x438, x439, x440)≥EVAL_3(x438, minus_int(x439, x440), x440))
(84) (pos(0)=x567∧greater_int(x436, x567)=true ⇒ COND_EVAL_3(true, x435, x436, x437)≥EVAL_3(x435, minus_int(x436, x437), x437))
(85) (true=true∧pos(0)=pos(0) ⇒ COND_EVAL_3(true, x435, pos(s(x568)), x437)≥EVAL_3(x435, minus_int(pos(s(x568)), x437), x437))
(86) (true=true∧pos(0)=neg(s(x572)) ⇒ COND_EVAL_3(true, x435, pos(0), x437)≥EVAL_3(x435, minus_int(pos(0), x437), x437))
(87) (true=true∧pos(0)=neg(s(x573)) ⇒ COND_EVAL_3(true, x435, neg(0), x437)≥EVAL_3(x435, minus_int(neg(0), x437), x437))
(88) (true=true∧pos(0)=neg(0) ⇒ COND_EVAL_3(true, x435, pos(s(x574)), x437)≥EVAL_3(x435, minus_int(pos(s(x574)), x437), x437))
(89) (true=true∧pos(0)=neg(s(x576)) ⇒ COND_EVAL_3(true, x435, pos(s(x577)), x437)≥EVAL_3(x435, minus_int(pos(s(x577)), x437), x437))
(90) (greater_int(pos(x581), pos(x580))=true∧pos(0)=pos(s(x580))∧(∀x582,x583:greater_int(pos(x581), pos(x580))=true∧pos(0)=pos(x580) ⇒ COND_EVAL_3(true, x582, pos(x581), x583)≥EVAL_3(x582, minus_int(pos(x581), x583), x583)) ⇒ COND_EVAL_3(true, x435, pos(s(x581)), x437)≥EVAL_3(x435, minus_int(pos(s(x581)), x437), x437))
(91) (greater_int(neg(x585), neg(x584))=true∧pos(0)=neg(s(x584))∧(∀x586,x587:greater_int(neg(x585), neg(x584))=true∧pos(0)=neg(x584) ⇒ COND_EVAL_3(true, x586, neg(x585), x587)≥EVAL_3(x586, minus_int(neg(x585), x587), x587)) ⇒ COND_EVAL_3(true, x435, neg(s(x585)), x437)≥EVAL_3(x435, minus_int(neg(s(x585)), x437), x437))
(92) (COND_EVAL_3(true, x435, pos(s(x568)), x437)≥EVAL_3(x435, minus_int(pos(s(x568)), x437), x437))
(93) (COND_EVAL_2(greater_int(x462, pos(0)), x462, x463, x464)=COND_EVAL_2(true, x465, x466, x467) ⇒ COND_EVAL_2(true, x465, x466, x467)≥EVAL_2(minus_int(x465, x467), x466, x467))
(94) (pos(0)=x588∧greater_int(x462, x588)=true ⇒ COND_EVAL_2(true, x462, x463, x464)≥EVAL_2(minus_int(x462, x464), x463, x464))
(95) (true=true∧pos(0)=pos(0) ⇒ COND_EVAL_2(true, pos(s(x589)), x463, x464)≥EVAL_2(minus_int(pos(s(x589)), x464), x463, x464))
(96) (true=true∧pos(0)=neg(s(x593)) ⇒ COND_EVAL_2(true, pos(0), x463, x464)≥EVAL_2(minus_int(pos(0), x464), x463, x464))
(97) (true=true∧pos(0)=neg(s(x594)) ⇒ COND_EVAL_2(true, neg(0), x463, x464)≥EVAL_2(minus_int(neg(0), x464), x463, x464))
(98) (true=true∧pos(0)=neg(0) ⇒ COND_EVAL_2(true, pos(s(x595)), x463, x464)≥EVAL_2(minus_int(pos(s(x595)), x464), x463, x464))
(99) (true=true∧pos(0)=neg(s(x597)) ⇒ COND_EVAL_2(true, pos(s(x598)), x463, x464)≥EVAL_2(minus_int(pos(s(x598)), x464), x463, x464))
(100) (greater_int(pos(x602), pos(x601))=true∧pos(0)=pos(s(x601))∧(∀x603,x604:greater_int(pos(x602), pos(x601))=true∧pos(0)=pos(x601) ⇒ COND_EVAL_2(true, pos(x602), x603, x604)≥EVAL_2(minus_int(pos(x602), x604), x603, x604)) ⇒ COND_EVAL_2(true, pos(s(x602)), x463, x464)≥EVAL_2(minus_int(pos(s(x602)), x464), x463, x464))
(101) (greater_int(neg(x606), neg(x605))=true∧pos(0)=neg(s(x605))∧(∀x607,x608:greater_int(neg(x606), neg(x605))=true∧pos(0)=neg(x605) ⇒ COND_EVAL_2(true, neg(x606), x607, x608)≥EVAL_2(minus_int(neg(x606), x608), x607, x608)) ⇒ COND_EVAL_2(true, neg(s(x606)), x463, x464)≥EVAL_2(minus_int(neg(s(x606)), x464), x463, x464))
(102) (COND_EVAL_2(true, pos(s(x589)), x463, x464)≥EVAL_2(minus_int(pos(s(x589)), x464), x463, x464))
POL(0) = 1
POL(COND_EVAL_1(x1, x2, x3, x4)) = -1 - x1 - x3
POL(COND_EVAL_11(x1, x2, x3, x4)) = -1 - x1 - x2 - x3
POL(COND_EVAL_2(x1, x2, x3, x4)) = -1 - x1 - x2 - x3
POL(COND_EVAL_21(x1, x2, x3, x4)) = -1 - x3
POL(COND_EVAL_3(x1, x2, x3, x4)) = -1 - x1 - x2 - x3
POL(COND_EVAL_31(x1, x2, x3, x4)) = -1 - x2 - x3
POL(EVAL_1(x1, x2, x3)) = -1 - x1 - x2
POL(EVAL_2(x1, x2, x3)) = -1 - x2
POL(EVAL_3(x1, x2, x3)) = -1 - x1 - x2
POL(and(x1, x2)) = x1
POL(c) = -3
POL(false) = 1
POL(greater_int(x1, x2)) = x1
POL(greatereq_int(x1, x2)) = 0
POL(minus_int(x1, x2)) = 0
POL(minus_nat(x1, x2)) = x1
POL(neg(x1)) = 1
POL(plus_nat(x1, x2)) = x1 + x2
POL(pos(x1)) = x1
POL(s(x1)) = 0
POL(true) = 0
The following pairs are in Pbound:
COND_EVAL_21(true, x, y, x_removed) → EVAL_1(x, y, x_removed)
The following rules are usable:
COND_EVAL_1(true, x, y, x_removed) → EVAL_2(x, y, x_removed)
true → and(true, true)
false → and(true, false)
false → greater_int(neg(s(x)), pos(0))
true → greater_int(pos(s(x)), pos(0))
false → and(false, true)
false → and(false, false)
pos(0) → minus_nat(0, 0)
neg(s(y)) → minus_nat(0, s(y))
false → greater_int(pos(0), pos(0))
false → greater_int(neg(0), pos(0))
pos(s(x)) → minus_nat(s(x), 0)
minus_nat(x, y) → minus_nat(s(x), s(y))
minus_nat(x, y) → minus_int(pos(x), pos(y))
neg(plus_nat(x, y)) → minus_int(neg(x), pos(y))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ QDP
↳ NonInfProof
↳ AND
↳ QDP
↳ DependencyGraphProof
↳ QDP
COND_EVAL_31(true, x, y, x_removed) → EVAL_1(x, y, x_removed)
EVAL_1(x, y, x_removed) → COND_EVAL_1(and(and(greater_int(x, pos(0)), greater_int(y, pos(0))), greater_int(x, y)), x, y, x_removed)
EVAL_1(x, y, x_removed) → COND_EVAL_11(and(and(greater_int(x, pos(0)), greater_int(y, pos(0))), greatereq_int(y, x)), x, y, x_removed)
COND_EVAL_1(true, x, y, x_removed) → EVAL_2(x, y, x_removed)
EVAL_2(x, y, x_removed) → COND_EVAL_21(greatereq_int(pos(0), x), x, y, x_removed)
EVAL_2(x, y, x_removed) → COND_EVAL_2(greater_int(x, pos(0)), x, y, x_removed)
COND_EVAL_11(true, x, y, x_removed) → EVAL_3(x, y, x_removed)
EVAL_3(x, y, x_removed) → COND_EVAL_31(greatereq_int(pos(0), y), x, y, x_removed)
EVAL_3(x, y, x_removed) → COND_EVAL_3(greater_int(y, pos(0)), x, y, x_removed)
COND_EVAL_3(true, x, y, x_removed) → EVAL_3(x, minus_int(y, x_removed), x_removed)
COND_EVAL_2(true, x, y, x_removed) → EVAL_2(minus_int(x, x_removed), y, x_removed)
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(0), pos(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
greater_int(pos(0), neg(0)) → false
greater_int(neg(0), neg(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(neg(0), pos(s(y))) → false
greater_int(pos(0), neg(s(y))) → true
greater_int(neg(0), neg(s(y))) → true
greater_int(pos(s(x)), neg(0)) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
greatereq_int(pos(x), pos(0)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(0), pos(s(y))) → false
greatereq_int(neg(0), pos(0)) → true
greatereq_int(neg(0), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(0)) → false
greatereq_int(neg(s(x)), neg(0)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ QDP
↳ NonInfProof
↳ AND
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
EVAL_2(x, y, x_removed) → COND_EVAL_2(greater_int(x, pos(0)), x, y, x_removed)
COND_EVAL_2(true, x, y, x_removed) → EVAL_2(minus_int(x, x_removed), y, x_removed)
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(0), pos(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
greater_int(pos(0), neg(0)) → false
greater_int(neg(0), neg(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(neg(0), pos(s(y))) → false
greater_int(pos(0), neg(s(y))) → true
greater_int(neg(0), neg(s(y))) → true
greater_int(pos(s(x)), neg(0)) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
greatereq_int(pos(x), pos(0)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(0), pos(s(y))) → false
greatereq_int(neg(0), pos(0)) → true
greatereq_int(neg(0), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(0)) → false
greatereq_int(neg(s(x)), neg(0)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ QDP
↳ NonInfProof
↳ AND
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDP
EVAL_2(x, y, x_removed) → COND_EVAL_2(greater_int(x, pos(0)), x, y, x_removed)
COND_EVAL_2(true, x, y, x_removed) → EVAL_2(minus_int(x, x_removed), y, x_removed)
greater_int(pos(0), pos(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ QDP
↳ NonInfProof
↳ AND
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ QDP
EVAL_2(x, y, x_removed) → COND_EVAL_2(greater_int(x, pos(0)), x, y, x_removed)
COND_EVAL_2(true, x, y, x_removed) → EVAL_2(minus_int(x, x_removed), y, x_removed)
greater_int(pos(0), pos(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
EVAL_2(neg(s(x0)), y1, y2) → COND_EVAL_2(false, neg(s(x0)), y1, y2)
EVAL_2(neg(0), y1, y2) → COND_EVAL_2(false, neg(0), y1, y2)
EVAL_2(pos(0), y1, y2) → COND_EVAL_2(false, pos(0), y1, y2)
EVAL_2(pos(s(x0)), y1, y2) → COND_EVAL_2(true, pos(s(x0)), y1, y2)
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ QDP
↳ NonInfProof
↳ AND
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDP
COND_EVAL_2(true, x, y, x_removed) → EVAL_2(minus_int(x, x_removed), y, x_removed)
EVAL_2(neg(s(x0)), y1, y2) → COND_EVAL_2(false, neg(s(x0)), y1, y2)
EVAL_2(neg(0), y1, y2) → COND_EVAL_2(false, neg(0), y1, y2)
EVAL_2(pos(0), y1, y2) → COND_EVAL_2(false, pos(0), y1, y2)
EVAL_2(pos(s(x0)), y1, y2) → COND_EVAL_2(true, pos(s(x0)), y1, y2)
greater_int(pos(0), pos(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ QDP
↳ NonInfProof
↳ AND
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
EVAL_2(pos(s(x0)), y1, y2) → COND_EVAL_2(true, pos(s(x0)), y1, y2)
COND_EVAL_2(true, x, y, x_removed) → EVAL_2(minus_int(x, x_removed), y, x_removed)
greater_int(pos(0), pos(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ QDP
↳ NonInfProof
↳ AND
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDP
EVAL_2(pos(s(x0)), y1, y2) → COND_EVAL_2(true, pos(s(x0)), y1, y2)
COND_EVAL_2(true, x, y, x_removed) → EVAL_2(minus_int(x, x_removed), y, x_removed)
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ QDP
↳ NonInfProof
↳ AND
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ QDP
EVAL_2(pos(s(x0)), y1, y2) → COND_EVAL_2(true, pos(s(x0)), y1, y2)
COND_EVAL_2(true, x, y, x_removed) → EVAL_2(minus_int(x, x_removed), y, x_removed)
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
COND_EVAL_2(true, pos(x0), y1, pos(x1)) → EVAL_2(minus_nat(x0, x1), y1, pos(x1))
COND_EVAL_2(true, neg(x0), y1, pos(x1)) → EVAL_2(neg(plus_nat(x0, x1)), y1, pos(x1))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ QDP
↳ NonInfProof
↳ AND
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDP
EVAL_2(pos(s(x0)), y1, y2) → COND_EVAL_2(true, pos(s(x0)), y1, y2)
COND_EVAL_2(true, pos(x0), y1, pos(x1)) → EVAL_2(minus_nat(x0, x1), y1, pos(x1))
COND_EVAL_2(true, neg(x0), y1, pos(x1)) → EVAL_2(neg(plus_nat(x0, x1)), y1, pos(x1))
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ QDP
↳ NonInfProof
↳ AND
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
COND_EVAL_2(true, pos(x0), y1, pos(x1)) → EVAL_2(minus_nat(x0, x1), y1, pos(x1))
EVAL_2(pos(s(x0)), y1, y2) → COND_EVAL_2(true, pos(s(x0)), y1, y2)
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ QDP
↳ NonInfProof
↳ AND
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDP
COND_EVAL_2(true, pos(x0), y1, pos(x1)) → EVAL_2(minus_nat(x0, x1), y1, pos(x1))
EVAL_2(pos(s(x0)), y1, y2) → COND_EVAL_2(true, pos(s(x0)), y1, y2)
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ QDP
↳ NonInfProof
↳ AND
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ QDP
COND_EVAL_2(true, pos(x0), y1, pos(x1)) → EVAL_2(minus_nat(x0, x1), y1, pos(x1))
EVAL_2(pos(s(x0)), y1, y2) → COND_EVAL_2(true, pos(s(x0)), y1, y2)
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
COND_EVAL_2(true, pos(s(z0)), z1, pos(x2)) → EVAL_2(minus_nat(s(z0), x2), z1, pos(x2))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ QDP
↳ NonInfProof
↳ AND
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ QDP
EVAL_2(pos(s(x0)), y1, y2) → COND_EVAL_2(true, pos(s(x0)), y1, y2)
COND_EVAL_2(true, pos(s(z0)), z1, pos(x2)) → EVAL_2(minus_nat(s(z0), x2), z1, pos(x2))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
EVAL_2(pos(s(x0)), z1, pos(z2)) → COND_EVAL_2(true, pos(s(x0)), z1, pos(z2))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ QDP
↳ NonInfProof
↳ AND
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ MNOCProof
↳ QDP
↳ QDP
COND_EVAL_2(true, pos(s(z0)), z1, pos(x2)) → EVAL_2(minus_nat(s(z0), x2), z1, pos(x2))
EVAL_2(pos(s(x0)), z1, pos(z2)) → COND_EVAL_2(true, pos(s(x0)), z1, pos(z2))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ QDP
↳ NonInfProof
↳ AND
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ MNOCProof
↳ QDP
↳ NonTerminationProof
↳ QDP
↳ QDP
COND_EVAL_2(true, pos(s(z0)), z1, pos(x2)) → EVAL_2(minus_nat(s(z0), x2), z1, pos(x2))
EVAL_2(pos(s(x0)), z1, pos(z2)) → COND_EVAL_2(true, pos(s(x0)), z1, pos(z2))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
COND_EVAL_2(true, pos(s(z0)), z1, pos(x2)) → EVAL_2(minus_nat(s(z0), x2), z1, pos(x2))
EVAL_2(pos(s(x0)), z1, pos(z2)) → COND_EVAL_2(true, pos(s(x0)), z1, pos(z2))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ QDP
↳ NonInfProof
↳ AND
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
EVAL_1(x, y, x_removed) → COND_EVAL_11(and(and(greater_int(x, pos(0)), greater_int(y, pos(0))), greatereq_int(y, x)), x, y, x_removed)
COND_EVAL_11(true, x, y, x_removed) → EVAL_3(x, y, x_removed)
EVAL_3(x, y, x_removed) → COND_EVAL_31(greatereq_int(pos(0), y), x, y, x_removed)
COND_EVAL_31(true, x, y, x_removed) → EVAL_1(x, y, x_removed)
EVAL_3(x, y, x_removed) → COND_EVAL_3(greater_int(y, pos(0)), x, y, x_removed)
COND_EVAL_3(true, x, y, x_removed) → EVAL_3(x, minus_int(y, x_removed), x_removed)
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(0), pos(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
greater_int(pos(0), neg(0)) → false
greater_int(neg(0), neg(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(neg(0), pos(s(y))) → false
greater_int(pos(0), neg(s(y))) → true
greater_int(neg(0), neg(s(y))) → true
greater_int(pos(s(x)), neg(0)) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
greatereq_int(pos(x), pos(0)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(0), pos(s(y))) → false
greatereq_int(neg(0), pos(0)) → true
greatereq_int(neg(0), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(0)) → false
greatereq_int(neg(s(x)), neg(0)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ QDP
↳ NonInfProof
↳ AND
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
EVAL_1(x, y, x_removed) → COND_EVAL_11(and(and(greater_int(x, pos(0)), greater_int(y, pos(0))), greatereq_int(y, x)), x, y, x_removed)
COND_EVAL_11(true, x, y, x_removed) → EVAL_3(x, y, x_removed)
EVAL_3(x, y, x_removed) → COND_EVAL_31(greatereq_int(pos(0), y), x, y, x_removed)
COND_EVAL_31(true, x, y, x_removed) → EVAL_1(x, y, x_removed)
EVAL_3(x, y, x_removed) → COND_EVAL_3(greater_int(y, pos(0)), x, y, x_removed)
COND_EVAL_3(true, x, y, x_removed) → EVAL_3(x, minus_int(y, x_removed), x_removed)
greater_int(pos(0), pos(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
greatereq_int(pos(x), pos(0)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(0), pos(s(y))) → false
greatereq_int(neg(0), pos(0)) → true
greatereq_int(neg(0), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(0)) → false
greatereq_int(neg(s(x)), neg(0)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
EVAL_3(y0, neg(s(x0)), y2) → COND_EVAL_3(false, y0, neg(s(x0)), y2)
EVAL_3(y0, pos(0), y2) → COND_EVAL_3(false, y0, pos(0), y2)
EVAL_3(y0, pos(s(x0)), y2) → COND_EVAL_3(true, y0, pos(s(x0)), y2)
EVAL_3(y0, neg(0), y2) → COND_EVAL_3(false, y0, neg(0), y2)
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ QDP
↳ NonInfProof
↳ AND
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
EVAL_1(x, y, x_removed) → COND_EVAL_11(and(and(greater_int(x, pos(0)), greater_int(y, pos(0))), greatereq_int(y, x)), x, y, x_removed)
COND_EVAL_11(true, x, y, x_removed) → EVAL_3(x, y, x_removed)
EVAL_3(x, y, x_removed) → COND_EVAL_31(greatereq_int(pos(0), y), x, y, x_removed)
COND_EVAL_31(true, x, y, x_removed) → EVAL_1(x, y, x_removed)
COND_EVAL_3(true, x, y, x_removed) → EVAL_3(x, minus_int(y, x_removed), x_removed)
EVAL_3(y0, neg(s(x0)), y2) → COND_EVAL_3(false, y0, neg(s(x0)), y2)
EVAL_3(y0, pos(0), y2) → COND_EVAL_3(false, y0, pos(0), y2)
EVAL_3(y0, pos(s(x0)), y2) → COND_EVAL_3(true, y0, pos(s(x0)), y2)
EVAL_3(y0, neg(0), y2) → COND_EVAL_3(false, y0, neg(0), y2)
greater_int(pos(0), pos(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
greatereq_int(pos(x), pos(0)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(0), pos(s(y))) → false
greatereq_int(neg(0), pos(0)) → true
greatereq_int(neg(0), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(0)) → false
greatereq_int(neg(s(x)), neg(0)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ QDP
↳ NonInfProof
↳ AND
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ NonInfProof
↳ QDP
COND_EVAL_11(true, x, y, x_removed) → EVAL_3(x, y, x_removed)
EVAL_3(x, y, x_removed) → COND_EVAL_31(greatereq_int(pos(0), y), x, y, x_removed)
COND_EVAL_31(true, x, y, x_removed) → EVAL_1(x, y, x_removed)
EVAL_1(x, y, x_removed) → COND_EVAL_11(and(and(greater_int(x, pos(0)), greater_int(y, pos(0))), greatereq_int(y, x)), x, y, x_removed)
EVAL_3(y0, pos(s(x0)), y2) → COND_EVAL_3(true, y0, pos(s(x0)), y2)
COND_EVAL_3(true, x, y, x_removed) → EVAL_3(x, minus_int(y, x_removed), x_removed)
greater_int(pos(0), pos(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
greatereq_int(pos(x), pos(0)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(0), pos(s(y))) → false
greatereq_int(neg(0), pos(0)) → true
greatereq_int(neg(0), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(0)) → false
greatereq_int(neg(s(x)), neg(0)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
(1) (COND_EVAL_11(and(and(greater_int(x9, pos(0)), greater_int(x10, pos(0))), greatereq_int(x10, x9)), x9, x10, x11)=COND_EVAL_11(true, x12, x13, x14) ⇒ COND_EVAL_11(true, x12, x13, x14)≥EVAL_3(x12, x13, x14))
(2) (and(x134, x135)=x132∧greatereq_int(x10, x9)=x133∧and(x132, x133)=true ⇒ COND_EVAL_11(true, x9, x10, x11)≥EVAL_3(x9, x10, x11))
(3) (true=true∧and(x134, x135)=true∧greatereq_int(x10, x9)=true ⇒ COND_EVAL_11(true, x9, x10, x11)≥EVAL_3(x9, x10, x11))
(4) (and(x134, x135)=true∧greatereq_int(x10, x9)=true ⇒ COND_EVAL_11(true, x9, x10, x11)≥EVAL_3(x9, x10, x11))
(5) (true=true∧greatereq_int(x10, x9)=true ⇒ COND_EVAL_11(true, x9, x10, x11)≥EVAL_3(x9, x10, x11))
(6) (greatereq_int(x10, x9)=true ⇒ COND_EVAL_11(true, x9, x10, x11)≥EVAL_3(x9, x10, x11))
(7) (true=true ⇒ COND_EVAL_11(true, pos(0), pos(x138), x11)≥EVAL_3(pos(0), pos(x138), x11))
(8) (true=true ⇒ COND_EVAL_11(true, neg(x139), pos(x140), x11)≥EVAL_3(neg(x139), pos(x140), x11))
(9) (true=true ⇒ COND_EVAL_11(true, pos(0), neg(0), x11)≥EVAL_3(pos(0), neg(0), x11))
(10) (true=true ⇒ COND_EVAL_11(true, neg(x142), neg(0), x11)≥EVAL_3(neg(x142), neg(0), x11))
(11) (greatereq_int(pos(x148), pos(x147))=true∧(∀x149:greatereq_int(pos(x148), pos(x147))=true ⇒ COND_EVAL_11(true, pos(x147), pos(x148), x149)≥EVAL_3(pos(x147), pos(x148), x149)) ⇒ COND_EVAL_11(true, pos(s(x147)), pos(s(x148)), x11)≥EVAL_3(pos(s(x147)), pos(s(x148)), x11))
(12) (greatereq_int(neg(x151), neg(x150))=true∧(∀x152:greatereq_int(neg(x151), neg(x150))=true ⇒ COND_EVAL_11(true, neg(x150), neg(x151), x152)≥EVAL_3(neg(x150), neg(x151), x152)) ⇒ COND_EVAL_11(true, neg(s(x150)), neg(s(x151)), x11)≥EVAL_3(neg(s(x150)), neg(s(x151)), x11))
(13) (COND_EVAL_11(true, pos(0), pos(x138), x11)≥EVAL_3(pos(0), pos(x138), x11))
(14) (COND_EVAL_11(true, neg(x139), pos(x140), x11)≥EVAL_3(neg(x139), pos(x140), x11))
(15) (COND_EVAL_11(true, pos(0), neg(0), x11)≥EVAL_3(pos(0), neg(0), x11))
(16) (COND_EVAL_11(true, neg(x142), neg(0), x11)≥EVAL_3(neg(x142), neg(0), x11))
(17) (COND_EVAL_11(true, pos(x147), pos(x148), x11)≥EVAL_3(pos(x147), pos(x148), x11) ⇒ COND_EVAL_11(true, pos(s(x147)), pos(s(x148)), x11)≥EVAL_3(pos(s(x147)), pos(s(x148)), x11))
(18) (COND_EVAL_11(true, neg(x150), neg(x151), x11)≥EVAL_3(neg(x150), neg(x151), x11) ⇒ COND_EVAL_11(true, neg(s(x150)), neg(s(x151)), x11)≥EVAL_3(neg(s(x150)), neg(s(x151)), x11))
(19) (EVAL_3(x21, x22, x23)=EVAL_3(x24, x25, x26) ⇒ EVAL_3(x24, x25, x26)≥COND_EVAL_31(greatereq_int(pos(0), x25), x24, x25, x26))
(20) (EVAL_3(x21, x22, x23)≥COND_EVAL_31(greatereq_int(pos(0), x22), x21, x22, x23))
(21) (EVAL_3(x39, minus_int(x40, x41), x41)=EVAL_3(x42, x43, x44) ⇒ EVAL_3(x42, x43, x44)≥COND_EVAL_31(greatereq_int(pos(0), x43), x42, x43, x44))
(22) (EVAL_3(x39, x43, x41)≥COND_EVAL_31(greatereq_int(pos(0), x43), x39, x43, x41))
(23) (COND_EVAL_31(greatereq_int(pos(0), x49), x48, x49, x50)=COND_EVAL_31(true, x51, x52, x53) ⇒ COND_EVAL_31(true, x51, x52, x53)≥EVAL_1(x51, x52, x53))
(24) (pos(0)=x153∧greatereq_int(x153, x49)=true ⇒ COND_EVAL_31(true, x48, x49, x50)≥EVAL_1(x48, x49, x50))
(25) (true=true∧pos(0)=pos(x154) ⇒ COND_EVAL_31(true, x48, pos(0), x50)≥EVAL_1(x48, pos(0), x50))
(26) (true=true∧pos(0)=pos(x156) ⇒ COND_EVAL_31(true, x48, neg(x155), x50)≥EVAL_1(x48, neg(x155), x50))
(27) (true=true∧pos(0)=neg(0) ⇒ COND_EVAL_31(true, x48, pos(0), x50)≥EVAL_1(x48, pos(0), x50))
(28) (true=true∧pos(0)=neg(0) ⇒ COND_EVAL_31(true, x48, neg(x158), x50)≥EVAL_1(x48, neg(x158), x50))
(29) (greatereq_int(pos(x164), pos(x163))=true∧pos(0)=pos(s(x164))∧(∀x165,x166:greatereq_int(pos(x164), pos(x163))=true∧pos(0)=pos(x164) ⇒ COND_EVAL_31(true, x165, pos(x163), x166)≥EVAL_1(x165, pos(x163), x166)) ⇒ COND_EVAL_31(true, x48, pos(s(x163)), x50)≥EVAL_1(x48, pos(s(x163)), x50))
(30) (greatereq_int(neg(x168), neg(x167))=true∧pos(0)=neg(s(x168))∧(∀x169,x170:greatereq_int(neg(x168), neg(x167))=true∧pos(0)=neg(x168) ⇒ COND_EVAL_31(true, x169, neg(x167), x170)≥EVAL_1(x169, neg(x167), x170)) ⇒ COND_EVAL_31(true, x48, neg(s(x167)), x50)≥EVAL_1(x48, neg(s(x167)), x50))
(31) (COND_EVAL_31(true, x48, pos(0), x50)≥EVAL_1(x48, pos(0), x50))
(32) (COND_EVAL_31(true, x48, neg(x155), x50)≥EVAL_1(x48, neg(x155), x50))
(33) (EVAL_1(x72, x73, x74)=EVAL_1(x75, x76, x77) ⇒ EVAL_1(x75, x76, x77)≥COND_EVAL_11(and(and(greater_int(x75, pos(0)), greater_int(x76, pos(0))), greatereq_int(x76, x75)), x75, x76, x77))
(34) (EVAL_1(x72, x73, x74)≥COND_EVAL_11(and(and(greater_int(x72, pos(0)), greater_int(x73, pos(0))), greatereq_int(x73, x72)), x72, x73, x74))
(35) (EVAL_3(x87, x88, x89)=EVAL_3(x90, pos(s(x91)), x92) ⇒ EVAL_3(x90, pos(s(x91)), x92)≥COND_EVAL_3(true, x90, pos(s(x91)), x92))
(36) (EVAL_3(x87, pos(s(x91)), x89)≥COND_EVAL_3(true, x87, pos(s(x91)), x89))
(37) (EVAL_3(x105, minus_int(x106, x107), x107)=EVAL_3(x108, pos(s(x109)), x110) ⇒ EVAL_3(x108, pos(s(x109)), x110)≥COND_EVAL_3(true, x108, pos(s(x109)), x110))
(38) (minus_int(x106, x107)=pos(s(x109)) ⇒ EVAL_3(x105, pos(s(x109)), x107)≥COND_EVAL_3(true, x105, pos(s(x109)), x107))
(39) (minus_nat(x172, x171)=pos(s(x109)) ⇒ EVAL_3(x105, pos(s(x109)), pos(x171))≥COND_EVAL_3(true, x105, pos(s(x109)), pos(x171)))
(40) (pos(0)=pos(s(x109)) ⇒ EVAL_3(x105, pos(s(x109)), pos(0))≥COND_EVAL_3(true, x105, pos(s(x109)), pos(0)))
(41) (pos(s(x176))=pos(s(x109)) ⇒ EVAL_3(x105, pos(s(x109)), pos(0))≥COND_EVAL_3(true, x105, pos(s(x109)), pos(0)))
(42) (minus_nat(x178, x177)=pos(s(x109))∧(∀x179,x180:minus_nat(x178, x177)=pos(s(x179)) ⇒ EVAL_3(x180, pos(s(x179)), pos(x177))≥COND_EVAL_3(true, x180, pos(s(x179)), pos(x177))) ⇒ EVAL_3(x105, pos(s(x109)), pos(s(x177)))≥COND_EVAL_3(true, x105, pos(s(x109)), pos(s(x177))))
(43) (EVAL_3(x105, pos(s(x176)), pos(0))≥COND_EVAL_3(true, x105, pos(s(x176)), pos(0)))
(44) (EVAL_3(x105, pos(s(x109)), pos(x177))≥COND_EVAL_3(true, x105, pos(s(x109)), pos(x177)) ⇒ EVAL_3(x105, pos(s(x109)), pos(s(x177)))≥COND_EVAL_3(true, x105, pos(s(x109)), pos(s(x177))))
(45) (COND_EVAL_3(true, x123, pos(s(x124)), x125)=COND_EVAL_3(true, x126, x127, x128) ⇒ COND_EVAL_3(true, x126, x127, x128)≥EVAL_3(x126, minus_int(x127, x128), x128))
(46) (COND_EVAL_3(true, x123, pos(s(x124)), x125)≥EVAL_3(x123, minus_int(pos(s(x124)), x125), x125))
POL(0) = 0
POL(COND_EVAL_11(x1, x2, x3, x4)) = 1 + x1 - x2 + x3
POL(COND_EVAL_3(x1, x2, x3, x4)) = x1
POL(COND_EVAL_31(x1, x2, x3, x4)) = 1 - x3
POL(EVAL_1(x1, x2, x3)) = 1 + x2
POL(EVAL_3(x1, x2, x3)) = 1
POL(and(x1, x2)) = x1
POL(c) = -1
POL(false) = 0
POL(greater_int(x1, x2)) = x1
POL(greatereq_int(x1, x2)) = 0
POL(minus_int(x1, x2)) = 0
POL(minus_nat(x1, x2)) = 0
POL(neg(x1)) = 0
POL(plus_nat(x1, x2)) = x2
POL(pos(x1)) = x1
POL(s(x1)) = 1 + x1
POL(true) = 1
The following pairs are in Pbound:
COND_EVAL_11(true, x, y, x_removed) → EVAL_3(x, y, x_removed)
The following rules are usable:
COND_EVAL_11(true, x, y, x_removed) → EVAL_3(x, y, x_removed)
EVAL_3(x, y, x_removed) → COND_EVAL_31(greatereq_int(pos(0), y), x, y, x_removed)
COND_EVAL_31(true, x, y, x_removed) → EVAL_1(x, y, x_removed)
EVAL_1(x, y, x_removed) → COND_EVAL_11(and(and(greater_int(x, pos(0)), greater_int(y, pos(0))), greatereq_int(y, x)), x, y, x_removed)
EVAL_3(y0, pos(s(x0)), y2) → COND_EVAL_3(true, y0, pos(s(x0)), y2)
COND_EVAL_3(true, x, y, x_removed) → EVAL_3(x, minus_int(y, x_removed), x_removed)
and(true, true) → true
and(true, false) → false
greater_int(neg(s(x)), pos(0)) → false
greater_int(pos(s(x)), pos(0)) → true
and(false, true) → false
and(false, false) → false
greater_int(pos(0), pos(0)) → false
greater_int(neg(0), pos(0)) → false
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ QDP
↳ NonInfProof
↳ AND
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ NonInfProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
EVAL_3(x, y, x_removed) → COND_EVAL_31(greatereq_int(pos(0), y), x, y, x_removed)
COND_EVAL_31(true, x, y, x_removed) → EVAL_1(x, y, x_removed)
EVAL_1(x, y, x_removed) → COND_EVAL_11(and(and(greater_int(x, pos(0)), greater_int(y, pos(0))), greatereq_int(y, x)), x, y, x_removed)
EVAL_3(y0, pos(s(x0)), y2) → COND_EVAL_3(true, y0, pos(s(x0)), y2)
COND_EVAL_3(true, x, y, x_removed) → EVAL_3(x, minus_int(y, x_removed), x_removed)
greater_int(pos(0), pos(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
greatereq_int(pos(x), pos(0)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(0), pos(s(y))) → false
greatereq_int(neg(0), pos(0)) → true
greatereq_int(neg(0), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(0)) → false
greatereq_int(neg(s(x)), neg(0)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ QDP
↳ NonInfProof
↳ AND
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ NonInfProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
EVAL_3(y0, pos(s(x0)), y2) → COND_EVAL_3(true, y0, pos(s(x0)), y2)
COND_EVAL_3(true, x, y, x_removed) → EVAL_3(x, minus_int(y, x_removed), x_removed)
greater_int(pos(0), pos(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
greatereq_int(pos(x), pos(0)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(0), pos(s(y))) → false
greatereq_int(neg(0), pos(0)) → true
greatereq_int(neg(0), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(0)) → false
greatereq_int(neg(s(x)), neg(0)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ QDP
↳ NonInfProof
↳ AND
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ NonInfProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
EVAL_3(y0, pos(s(x0)), y2) → COND_EVAL_3(true, y0, pos(s(x0)), y2)
COND_EVAL_3(true, x, y, x_removed) → EVAL_3(x, minus_int(y, x_removed), x_removed)
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ QDP
↳ NonInfProof
↳ AND
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ NonInfProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
EVAL_3(y0, pos(s(x0)), y2) → COND_EVAL_3(true, y0, pos(s(x0)), y2)
COND_EVAL_3(true, x, y, x_removed) → EVAL_3(x, minus_int(y, x_removed), x_removed)
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
COND_EVAL_3(true, y0, pos(x0), pos(x1)) → EVAL_3(y0, minus_nat(x0, x1), pos(x1))
COND_EVAL_3(true, y0, neg(x0), pos(x1)) → EVAL_3(y0, neg(plus_nat(x0, x1)), pos(x1))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ QDP
↳ NonInfProof
↳ AND
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ NonInfProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
EVAL_3(y0, pos(s(x0)), y2) → COND_EVAL_3(true, y0, pos(s(x0)), y2)
COND_EVAL_3(true, y0, pos(x0), pos(x1)) → EVAL_3(y0, minus_nat(x0, x1), pos(x1))
COND_EVAL_3(true, y0, neg(x0), pos(x1)) → EVAL_3(y0, neg(plus_nat(x0, x1)), pos(x1))
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ QDP
↳ NonInfProof
↳ AND
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ NonInfProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
COND_EVAL_3(true, y0, pos(x0), pos(x1)) → EVAL_3(y0, minus_nat(x0, x1), pos(x1))
EVAL_3(y0, pos(s(x0)), y2) → COND_EVAL_3(true, y0, pos(s(x0)), y2)
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ QDP
↳ NonInfProof
↳ AND
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ NonInfProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
COND_EVAL_3(true, y0, pos(x0), pos(x1)) → EVAL_3(y0, minus_nat(x0, x1), pos(x1))
EVAL_3(y0, pos(s(x0)), y2) → COND_EVAL_3(true, y0, pos(s(x0)), y2)
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ QDP
↳ NonInfProof
↳ AND
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ NonInfProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
COND_EVAL_3(true, y0, pos(x0), pos(x1)) → EVAL_3(y0, minus_nat(x0, x1), pos(x1))
EVAL_3(y0, pos(s(x0)), y2) → COND_EVAL_3(true, y0, pos(s(x0)), y2)
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
COND_EVAL_3(true, z0, pos(s(z1)), pos(x2)) → EVAL_3(z0, minus_nat(s(z1), x2), pos(x2))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ QDP
↳ NonInfProof
↳ AND
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ NonInfProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
EVAL_3(y0, pos(s(x0)), y2) → COND_EVAL_3(true, y0, pos(s(x0)), y2)
COND_EVAL_3(true, z0, pos(s(z1)), pos(x2)) → EVAL_3(z0, minus_nat(s(z1), x2), pos(x2))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
EVAL_3(z0, pos(s(x1)), pos(z2)) → COND_EVAL_3(true, z0, pos(s(x1)), pos(z2))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ QDP
↳ NonInfProof
↳ AND
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ NonInfProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ MNOCProof
↳ QDP
COND_EVAL_3(true, z0, pos(s(z1)), pos(x2)) → EVAL_3(z0, minus_nat(s(z1), x2), pos(x2))
EVAL_3(z0, pos(s(x1)), pos(z2)) → COND_EVAL_3(true, z0, pos(s(x1)), pos(z2))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ QDP
↳ NonInfProof
↳ AND
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ NonInfProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ MNOCProof
↳ QDP
↳ NonTerminationProof
↳ QDP
COND_EVAL_3(true, z0, pos(s(z1)), pos(x2)) → EVAL_3(z0, minus_nat(s(z1), x2), pos(x2))
EVAL_3(z0, pos(s(x1)), pos(z2)) → COND_EVAL_3(true, z0, pos(s(x1)), pos(z2))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
COND_EVAL_3(true, z0, pos(s(z1)), pos(x2)) → EVAL_3(z0, minus_nat(s(z1), x2), pos(x2))
EVAL_3(z0, pos(s(x1)), pos(z2)) → COND_EVAL_3(true, z0, pos(s(x1)), pos(z2))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ QDP
↳ NonInfProof
↳ AND
↳ QDP
↳ QDP
↳ DependencyGraphProof
COND_EVAL_31(true, x, y, x_removed) → EVAL_1(x, y, x_removed)
EVAL_1(x, y, x_removed) → COND_EVAL_1(and(and(greater_int(x, pos(0)), greater_int(y, pos(0))), greater_int(x, y)), x, y, x_removed)
EVAL_1(x, y, x_removed) → COND_EVAL_11(and(and(greater_int(x, pos(0)), greater_int(y, pos(0))), greatereq_int(y, x)), x, y, x_removed)
EVAL_2(x, y, x_removed) → COND_EVAL_21(greatereq_int(pos(0), x), x, y, x_removed)
EVAL_2(x, y, x_removed) → COND_EVAL_2(greater_int(x, pos(0)), x, y, x_removed)
COND_EVAL_21(true, x, y, x_removed) → EVAL_1(x, y, x_removed)
COND_EVAL_11(true, x, y, x_removed) → EVAL_3(x, y, x_removed)
EVAL_3(x, y, x_removed) → COND_EVAL_31(greatereq_int(pos(0), y), x, y, x_removed)
EVAL_3(x, y, x_removed) → COND_EVAL_3(greater_int(y, pos(0)), x, y, x_removed)
COND_EVAL_3(true, x, y, x_removed) → EVAL_3(x, minus_int(y, x_removed), x_removed)
COND_EVAL_2(true, x, y, x_removed) → EVAL_2(minus_int(x, x_removed), y, x_removed)
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(0), pos(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
greater_int(pos(0), neg(0)) → false
greater_int(neg(0), neg(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(neg(0), pos(s(y))) → false
greater_int(pos(0), neg(s(y))) → true
greater_int(neg(0), neg(s(y))) → true
greater_int(pos(s(x)), neg(0)) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
greatereq_int(pos(x), pos(0)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(0), pos(s(y))) → false
greatereq_int(neg(0), pos(0)) → true
greatereq_int(neg(0), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(0)) → false
greatereq_int(neg(s(x)), neg(0)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ QDP
↳ NonInfProof
↳ AND
↳ QDP
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
EVAL_1(x, y, x_removed) → COND_EVAL_11(and(and(greater_int(x, pos(0)), greater_int(y, pos(0))), greatereq_int(y, x)), x, y, x_removed)
COND_EVAL_11(true, x, y, x_removed) → EVAL_3(x, y, x_removed)
EVAL_3(x, y, x_removed) → COND_EVAL_31(greatereq_int(pos(0), y), x, y, x_removed)
COND_EVAL_31(true, x, y, x_removed) → EVAL_1(x, y, x_removed)
EVAL_3(x, y, x_removed) → COND_EVAL_3(greater_int(y, pos(0)), x, y, x_removed)
COND_EVAL_3(true, x, y, x_removed) → EVAL_3(x, minus_int(y, x_removed), x_removed)
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(0), pos(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
greater_int(pos(0), neg(0)) → false
greater_int(neg(0), neg(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(neg(0), pos(s(y))) → false
greater_int(pos(0), neg(s(y))) → true
greater_int(neg(0), neg(s(y))) → true
greater_int(pos(s(x)), neg(0)) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
greatereq_int(pos(x), pos(0)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(0), pos(s(y))) → false
greatereq_int(neg(0), pos(0)) → true
greatereq_int(neg(0), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(0)) → false
greatereq_int(neg(s(x)), neg(0)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ QDP
↳ NonInfProof
↳ AND
↳ QDP
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
EVAL_1(x, y, x_removed) → COND_EVAL_11(and(and(greater_int(x, pos(0)), greater_int(y, pos(0))), greatereq_int(y, x)), x, y, x_removed)
COND_EVAL_11(true, x, y, x_removed) → EVAL_3(x, y, x_removed)
EVAL_3(x, y, x_removed) → COND_EVAL_31(greatereq_int(pos(0), y), x, y, x_removed)
COND_EVAL_31(true, x, y, x_removed) → EVAL_1(x, y, x_removed)
EVAL_3(x, y, x_removed) → COND_EVAL_3(greater_int(y, pos(0)), x, y, x_removed)
COND_EVAL_3(true, x, y, x_removed) → EVAL_3(x, minus_int(y, x_removed), x_removed)
greater_int(pos(0), pos(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
greatereq_int(pos(x), pos(0)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(0), pos(s(y))) → false
greatereq_int(neg(0), pos(0)) → true
greatereq_int(neg(0), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(0)) → false
greatereq_int(neg(s(x)), neg(0)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
EVAL_3(y0, neg(s(x0)), y2) → COND_EVAL_3(false, y0, neg(s(x0)), y2)
EVAL_3(y0, pos(0), y2) → COND_EVAL_3(false, y0, pos(0), y2)
EVAL_3(y0, pos(s(x0)), y2) → COND_EVAL_3(true, y0, pos(s(x0)), y2)
EVAL_3(y0, neg(0), y2) → COND_EVAL_3(false, y0, neg(0), y2)
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ QDP
↳ NonInfProof
↳ AND
↳ QDP
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
EVAL_1(x, y, x_removed) → COND_EVAL_11(and(and(greater_int(x, pos(0)), greater_int(y, pos(0))), greatereq_int(y, x)), x, y, x_removed)
COND_EVAL_11(true, x, y, x_removed) → EVAL_3(x, y, x_removed)
EVAL_3(x, y, x_removed) → COND_EVAL_31(greatereq_int(pos(0), y), x, y, x_removed)
COND_EVAL_31(true, x, y, x_removed) → EVAL_1(x, y, x_removed)
COND_EVAL_3(true, x, y, x_removed) → EVAL_3(x, minus_int(y, x_removed), x_removed)
EVAL_3(y0, neg(s(x0)), y2) → COND_EVAL_3(false, y0, neg(s(x0)), y2)
EVAL_3(y0, pos(0), y2) → COND_EVAL_3(false, y0, pos(0), y2)
EVAL_3(y0, pos(s(x0)), y2) → COND_EVAL_3(true, y0, pos(s(x0)), y2)
EVAL_3(y0, neg(0), y2) → COND_EVAL_3(false, y0, neg(0), y2)
greater_int(pos(0), pos(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
greatereq_int(pos(x), pos(0)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(0), pos(s(y))) → false
greatereq_int(neg(0), pos(0)) → true
greatereq_int(neg(0), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(0)) → false
greatereq_int(neg(s(x)), neg(0)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ QDP
↳ NonInfProof
↳ AND
↳ QDP
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ NonInfProof
↳ QDP
COND_EVAL_11(true, x, y, x_removed) → EVAL_3(x, y, x_removed)
EVAL_3(x, y, x_removed) → COND_EVAL_31(greatereq_int(pos(0), y), x, y, x_removed)
COND_EVAL_31(true, x, y, x_removed) → EVAL_1(x, y, x_removed)
EVAL_1(x, y, x_removed) → COND_EVAL_11(and(and(greater_int(x, pos(0)), greater_int(y, pos(0))), greatereq_int(y, x)), x, y, x_removed)
EVAL_3(y0, pos(s(x0)), y2) → COND_EVAL_3(true, y0, pos(s(x0)), y2)
COND_EVAL_3(true, x, y, x_removed) → EVAL_3(x, minus_int(y, x_removed), x_removed)
greater_int(pos(0), pos(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
greatereq_int(pos(x), pos(0)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(0), pos(s(y))) → false
greatereq_int(neg(0), pos(0)) → true
greatereq_int(neg(0), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(0)) → false
greatereq_int(neg(s(x)), neg(0)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
(1) (COND_EVAL_11(and(and(greater_int(x9, pos(0)), greater_int(x10, pos(0))), greatereq_int(x10, x9)), x9, x10, x11)=COND_EVAL_11(true, x12, x13, x14) ⇒ COND_EVAL_11(true, x12, x13, x14)≥EVAL_3(x12, x13, x14))
(2) (and(x134, x135)=x132∧greatereq_int(x10, x9)=x133∧and(x132, x133)=true ⇒ COND_EVAL_11(true, x9, x10, x11)≥EVAL_3(x9, x10, x11))
(3) (true=true∧and(x134, x135)=true∧greatereq_int(x10, x9)=true ⇒ COND_EVAL_11(true, x9, x10, x11)≥EVAL_3(x9, x10, x11))
(4) (and(x134, x135)=true∧greatereq_int(x10, x9)=true ⇒ COND_EVAL_11(true, x9, x10, x11)≥EVAL_3(x9, x10, x11))
(5) (true=true∧greatereq_int(x10, x9)=true ⇒ COND_EVAL_11(true, x9, x10, x11)≥EVAL_3(x9, x10, x11))
(6) (greatereq_int(x10, x9)=true ⇒ COND_EVAL_11(true, x9, x10, x11)≥EVAL_3(x9, x10, x11))
(7) (true=true ⇒ COND_EVAL_11(true, pos(0), pos(x138), x11)≥EVAL_3(pos(0), pos(x138), x11))
(8) (true=true ⇒ COND_EVAL_11(true, neg(x139), pos(x140), x11)≥EVAL_3(neg(x139), pos(x140), x11))
(9) (true=true ⇒ COND_EVAL_11(true, pos(0), neg(0), x11)≥EVAL_3(pos(0), neg(0), x11))
(10) (true=true ⇒ COND_EVAL_11(true, neg(x142), neg(0), x11)≥EVAL_3(neg(x142), neg(0), x11))
(11) (greatereq_int(pos(x148), pos(x147))=true∧(∀x149:greatereq_int(pos(x148), pos(x147))=true ⇒ COND_EVAL_11(true, pos(x147), pos(x148), x149)≥EVAL_3(pos(x147), pos(x148), x149)) ⇒ COND_EVAL_11(true, pos(s(x147)), pos(s(x148)), x11)≥EVAL_3(pos(s(x147)), pos(s(x148)), x11))
(12) (greatereq_int(neg(x151), neg(x150))=true∧(∀x152:greatereq_int(neg(x151), neg(x150))=true ⇒ COND_EVAL_11(true, neg(x150), neg(x151), x152)≥EVAL_3(neg(x150), neg(x151), x152)) ⇒ COND_EVAL_11(true, neg(s(x150)), neg(s(x151)), x11)≥EVAL_3(neg(s(x150)), neg(s(x151)), x11))
(13) (COND_EVAL_11(true, pos(0), pos(x138), x11)≥EVAL_3(pos(0), pos(x138), x11))
(14) (COND_EVAL_11(true, neg(x139), pos(x140), x11)≥EVAL_3(neg(x139), pos(x140), x11))
(15) (COND_EVAL_11(true, pos(0), neg(0), x11)≥EVAL_3(pos(0), neg(0), x11))
(16) (COND_EVAL_11(true, neg(x142), neg(0), x11)≥EVAL_3(neg(x142), neg(0), x11))
(17) (COND_EVAL_11(true, pos(x147), pos(x148), x11)≥EVAL_3(pos(x147), pos(x148), x11) ⇒ COND_EVAL_11(true, pos(s(x147)), pos(s(x148)), x11)≥EVAL_3(pos(s(x147)), pos(s(x148)), x11))
(18) (COND_EVAL_11(true, neg(x150), neg(x151), x11)≥EVAL_3(neg(x150), neg(x151), x11) ⇒ COND_EVAL_11(true, neg(s(x150)), neg(s(x151)), x11)≥EVAL_3(neg(s(x150)), neg(s(x151)), x11))
(19) (EVAL_3(x21, x22, x23)=EVAL_3(x24, x25, x26) ⇒ EVAL_3(x24, x25, x26)≥COND_EVAL_31(greatereq_int(pos(0), x25), x24, x25, x26))
(20) (EVAL_3(x21, x22, x23)≥COND_EVAL_31(greatereq_int(pos(0), x22), x21, x22, x23))
(21) (EVAL_3(x39, minus_int(x40, x41), x41)=EVAL_3(x42, x43, x44) ⇒ EVAL_3(x42, x43, x44)≥COND_EVAL_31(greatereq_int(pos(0), x43), x42, x43, x44))
(22) (EVAL_3(x39, x43, x41)≥COND_EVAL_31(greatereq_int(pos(0), x43), x39, x43, x41))
(23) (COND_EVAL_31(greatereq_int(pos(0), x49), x48, x49, x50)=COND_EVAL_31(true, x51, x52, x53) ⇒ COND_EVAL_31(true, x51, x52, x53)≥EVAL_1(x51, x52, x53))
(24) (pos(0)=x153∧greatereq_int(x153, x49)=true ⇒ COND_EVAL_31(true, x48, x49, x50)≥EVAL_1(x48, x49, x50))
(25) (true=true∧pos(0)=pos(x154) ⇒ COND_EVAL_31(true, x48, pos(0), x50)≥EVAL_1(x48, pos(0), x50))
(26) (true=true∧pos(0)=pos(x156) ⇒ COND_EVAL_31(true, x48, neg(x155), x50)≥EVAL_1(x48, neg(x155), x50))
(27) (true=true∧pos(0)=neg(0) ⇒ COND_EVAL_31(true, x48, pos(0), x50)≥EVAL_1(x48, pos(0), x50))
(28) (true=true∧pos(0)=neg(0) ⇒ COND_EVAL_31(true, x48, neg(x158), x50)≥EVAL_1(x48, neg(x158), x50))
(29) (greatereq_int(pos(x164), pos(x163))=true∧pos(0)=pos(s(x164))∧(∀x165,x166:greatereq_int(pos(x164), pos(x163))=true∧pos(0)=pos(x164) ⇒ COND_EVAL_31(true, x165, pos(x163), x166)≥EVAL_1(x165, pos(x163), x166)) ⇒ COND_EVAL_31(true, x48, pos(s(x163)), x50)≥EVAL_1(x48, pos(s(x163)), x50))
(30) (greatereq_int(neg(x168), neg(x167))=true∧pos(0)=neg(s(x168))∧(∀x169,x170:greatereq_int(neg(x168), neg(x167))=true∧pos(0)=neg(x168) ⇒ COND_EVAL_31(true, x169, neg(x167), x170)≥EVAL_1(x169, neg(x167), x170)) ⇒ COND_EVAL_31(true, x48, neg(s(x167)), x50)≥EVAL_1(x48, neg(s(x167)), x50))
(31) (COND_EVAL_31(true, x48, pos(0), x50)≥EVAL_1(x48, pos(0), x50))
(32) (COND_EVAL_31(true, x48, neg(x155), x50)≥EVAL_1(x48, neg(x155), x50))
(33) (EVAL_1(x72, x73, x74)=EVAL_1(x75, x76, x77) ⇒ EVAL_1(x75, x76, x77)≥COND_EVAL_11(and(and(greater_int(x75, pos(0)), greater_int(x76, pos(0))), greatereq_int(x76, x75)), x75, x76, x77))
(34) (EVAL_1(x72, x73, x74)≥COND_EVAL_11(and(and(greater_int(x72, pos(0)), greater_int(x73, pos(0))), greatereq_int(x73, x72)), x72, x73, x74))
(35) (EVAL_3(x87, x88, x89)=EVAL_3(x90, pos(s(x91)), x92) ⇒ EVAL_3(x90, pos(s(x91)), x92)≥COND_EVAL_3(true, x90, pos(s(x91)), x92))
(36) (EVAL_3(x87, pos(s(x91)), x89)≥COND_EVAL_3(true, x87, pos(s(x91)), x89))
(37) (EVAL_3(x105, minus_int(x106, x107), x107)=EVAL_3(x108, pos(s(x109)), x110) ⇒ EVAL_3(x108, pos(s(x109)), x110)≥COND_EVAL_3(true, x108, pos(s(x109)), x110))
(38) (minus_int(x106, x107)=pos(s(x109)) ⇒ EVAL_3(x105, pos(s(x109)), x107)≥COND_EVAL_3(true, x105, pos(s(x109)), x107))
(39) (minus_nat(x172, x171)=pos(s(x109)) ⇒ EVAL_3(x105, pos(s(x109)), pos(x171))≥COND_EVAL_3(true, x105, pos(s(x109)), pos(x171)))
(40) (pos(0)=pos(s(x109)) ⇒ EVAL_3(x105, pos(s(x109)), pos(0))≥COND_EVAL_3(true, x105, pos(s(x109)), pos(0)))
(41) (pos(s(x176))=pos(s(x109)) ⇒ EVAL_3(x105, pos(s(x109)), pos(0))≥COND_EVAL_3(true, x105, pos(s(x109)), pos(0)))
(42) (minus_nat(x178, x177)=pos(s(x109))∧(∀x179,x180:minus_nat(x178, x177)=pos(s(x179)) ⇒ EVAL_3(x180, pos(s(x179)), pos(x177))≥COND_EVAL_3(true, x180, pos(s(x179)), pos(x177))) ⇒ EVAL_3(x105, pos(s(x109)), pos(s(x177)))≥COND_EVAL_3(true, x105, pos(s(x109)), pos(s(x177))))
(43) (EVAL_3(x105, pos(s(x176)), pos(0))≥COND_EVAL_3(true, x105, pos(s(x176)), pos(0)))
(44) (EVAL_3(x105, pos(s(x109)), pos(x177))≥COND_EVAL_3(true, x105, pos(s(x109)), pos(x177)) ⇒ EVAL_3(x105, pos(s(x109)), pos(s(x177)))≥COND_EVAL_3(true, x105, pos(s(x109)), pos(s(x177))))
(45) (COND_EVAL_3(true, x123, pos(s(x124)), x125)=COND_EVAL_3(true, x126, x127, x128) ⇒ COND_EVAL_3(true, x126, x127, x128)≥EVAL_3(x126, minus_int(x127, x128), x128))
(46) (COND_EVAL_3(true, x123, pos(s(x124)), x125)≥EVAL_3(x123, minus_int(pos(s(x124)), x125), x125))
POL(0) = 0
POL(COND_EVAL_11(x1, x2, x3, x4)) = 1 + x1 - x2 + x3
POL(COND_EVAL_3(x1, x2, x3, x4)) = x1
POL(COND_EVAL_31(x1, x2, x3, x4)) = 1 - x3
POL(EVAL_1(x1, x2, x3)) = 1 + x2
POL(EVAL_3(x1, x2, x3)) = 1
POL(and(x1, x2)) = x1
POL(c) = -1
POL(false) = 0
POL(greater_int(x1, x2)) = x1
POL(greatereq_int(x1, x2)) = 0
POL(minus_int(x1, x2)) = 0
POL(minus_nat(x1, x2)) = 0
POL(neg(x1)) = 0
POL(plus_nat(x1, x2)) = x2
POL(pos(x1)) = x1
POL(s(x1)) = 1 + x1
POL(true) = 1
The following pairs are in Pbound:
COND_EVAL_11(true, x, y, x_removed) → EVAL_3(x, y, x_removed)
The following rules are usable:
COND_EVAL_11(true, x, y, x_removed) → EVAL_3(x, y, x_removed)
EVAL_3(x, y, x_removed) → COND_EVAL_31(greatereq_int(pos(0), y), x, y, x_removed)
COND_EVAL_31(true, x, y, x_removed) → EVAL_1(x, y, x_removed)
EVAL_1(x, y, x_removed) → COND_EVAL_11(and(and(greater_int(x, pos(0)), greater_int(y, pos(0))), greatereq_int(y, x)), x, y, x_removed)
EVAL_3(y0, pos(s(x0)), y2) → COND_EVAL_3(true, y0, pos(s(x0)), y2)
COND_EVAL_3(true, x, y, x_removed) → EVAL_3(x, minus_int(y, x_removed), x_removed)
and(true, true) → true
and(true, false) → false
greater_int(neg(s(x)), pos(0)) → false
greater_int(pos(s(x)), pos(0)) → true
and(false, true) → false
and(false, false) → false
greater_int(pos(0), pos(0)) → false
greater_int(neg(0), pos(0)) → false
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ QDP
↳ NonInfProof
↳ AND
↳ QDP
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ NonInfProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
EVAL_3(x, y, x_removed) → COND_EVAL_31(greatereq_int(pos(0), y), x, y, x_removed)
COND_EVAL_31(true, x, y, x_removed) → EVAL_1(x, y, x_removed)
EVAL_1(x, y, x_removed) → COND_EVAL_11(and(and(greater_int(x, pos(0)), greater_int(y, pos(0))), greatereq_int(y, x)), x, y, x_removed)
EVAL_3(y0, pos(s(x0)), y2) → COND_EVAL_3(true, y0, pos(s(x0)), y2)
COND_EVAL_3(true, x, y, x_removed) → EVAL_3(x, minus_int(y, x_removed), x_removed)
greater_int(pos(0), pos(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
greatereq_int(pos(x), pos(0)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(0), pos(s(y))) → false
greatereq_int(neg(0), pos(0)) → true
greatereq_int(neg(0), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(0)) → false
greatereq_int(neg(s(x)), neg(0)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ QDP
↳ NonInfProof
↳ AND
↳ QDP
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ NonInfProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
EVAL_3(y0, pos(s(x0)), y2) → COND_EVAL_3(true, y0, pos(s(x0)), y2)
COND_EVAL_3(true, x, y, x_removed) → EVAL_3(x, minus_int(y, x_removed), x_removed)
greater_int(pos(0), pos(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
greatereq_int(pos(x), pos(0)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(0), pos(s(y))) → false
greatereq_int(neg(0), pos(0)) → true
greatereq_int(neg(0), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(0)) → false
greatereq_int(neg(s(x)), neg(0)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ QDP
↳ NonInfProof
↳ AND
↳ QDP
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ NonInfProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
EVAL_3(y0, pos(s(x0)), y2) → COND_EVAL_3(true, y0, pos(s(x0)), y2)
COND_EVAL_3(true, x, y, x_removed) → EVAL_3(x, minus_int(y, x_removed), x_removed)
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ QDP
↳ NonInfProof
↳ AND
↳ QDP
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ NonInfProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
EVAL_3(y0, pos(s(x0)), y2) → COND_EVAL_3(true, y0, pos(s(x0)), y2)
COND_EVAL_3(true, x, y, x_removed) → EVAL_3(x, minus_int(y, x_removed), x_removed)
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
COND_EVAL_3(true, y0, pos(x0), pos(x1)) → EVAL_3(y0, minus_nat(x0, x1), pos(x1))
COND_EVAL_3(true, y0, neg(x0), pos(x1)) → EVAL_3(y0, neg(plus_nat(x0, x1)), pos(x1))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ QDP
↳ NonInfProof
↳ AND
↳ QDP
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ NonInfProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
EVAL_3(y0, pos(s(x0)), y2) → COND_EVAL_3(true, y0, pos(s(x0)), y2)
COND_EVAL_3(true, y0, pos(x0), pos(x1)) → EVAL_3(y0, minus_nat(x0, x1), pos(x1))
COND_EVAL_3(true, y0, neg(x0), pos(x1)) → EVAL_3(y0, neg(plus_nat(x0, x1)), pos(x1))
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ QDP
↳ NonInfProof
↳ AND
↳ QDP
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ NonInfProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
COND_EVAL_3(true, y0, pos(x0), pos(x1)) → EVAL_3(y0, minus_nat(x0, x1), pos(x1))
EVAL_3(y0, pos(s(x0)), y2) → COND_EVAL_3(true, y0, pos(s(x0)), y2)
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ QDP
↳ NonInfProof
↳ AND
↳ QDP
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ NonInfProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
COND_EVAL_3(true, y0, pos(x0), pos(x1)) → EVAL_3(y0, minus_nat(x0, x1), pos(x1))
EVAL_3(y0, pos(s(x0)), y2) → COND_EVAL_3(true, y0, pos(s(x0)), y2)
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ QDP
↳ NonInfProof
↳ AND
↳ QDP
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ NonInfProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
COND_EVAL_3(true, y0, pos(x0), pos(x1)) → EVAL_3(y0, minus_nat(x0, x1), pos(x1))
EVAL_3(y0, pos(s(x0)), y2) → COND_EVAL_3(true, y0, pos(s(x0)), y2)
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
COND_EVAL_3(true, z0, pos(s(z1)), pos(x2)) → EVAL_3(z0, minus_nat(s(z1), x2), pos(x2))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ QDP
↳ NonInfProof
↳ AND
↳ QDP
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ NonInfProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
EVAL_3(y0, pos(s(x0)), y2) → COND_EVAL_3(true, y0, pos(s(x0)), y2)
COND_EVAL_3(true, z0, pos(s(z1)), pos(x2)) → EVAL_3(z0, minus_nat(s(z1), x2), pos(x2))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
EVAL_3(z0, pos(s(x1)), pos(z2)) → COND_EVAL_3(true, z0, pos(s(x1)), pos(z2))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ QDP
↳ NonInfProof
↳ AND
↳ QDP
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ NonInfProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ MNOCProof
↳ QDP
COND_EVAL_3(true, z0, pos(s(z1)), pos(x2)) → EVAL_3(z0, minus_nat(s(z1), x2), pos(x2))
EVAL_3(z0, pos(s(x1)), pos(z2)) → COND_EVAL_3(true, z0, pos(s(x1)), pos(z2))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ QDP
↳ NonInfProof
↳ AND
↳ QDP
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ NonInfProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ MNOCProof
↳ QDP
↳ NonTerminationProof
↳ QDP
COND_EVAL_3(true, z0, pos(s(z1)), pos(x2)) → EVAL_3(z0, minus_nat(s(z1), x2), pos(x2))
EVAL_3(z0, pos(s(x1)), pos(z2)) → COND_EVAL_3(true, z0, pos(s(x1)), pos(z2))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
COND_EVAL_3(true, z0, pos(s(z1)), pos(x2)) → EVAL_3(z0, minus_nat(s(z1), x2), pos(x2))
EVAL_3(z0, pos(s(x1)), pos(z2)) → COND_EVAL_3(true, z0, pos(s(x1)), pos(z2))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ QDP
↳ NonInfProof
↳ AND
↳ QDP
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
EVAL_2(x, y, x_removed) → COND_EVAL_2(greater_int(x, pos(0)), x, y, x_removed)
COND_EVAL_2(true, x, y, x_removed) → EVAL_2(minus_int(x, x_removed), y, x_removed)
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(0), pos(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
greater_int(pos(0), neg(0)) → false
greater_int(neg(0), neg(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(neg(0), pos(s(y))) → false
greater_int(pos(0), neg(s(y))) → true
greater_int(neg(0), neg(s(y))) → true
greater_int(pos(s(x)), neg(0)) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
greatereq_int(pos(x), pos(0)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(0), pos(s(y))) → false
greatereq_int(neg(0), pos(0)) → true
greatereq_int(neg(0), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(0)) → false
greatereq_int(neg(s(x)), neg(0)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ QDP
↳ NonInfProof
↳ AND
↳ QDP
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
EVAL_2(x, y, x_removed) → COND_EVAL_2(greater_int(x, pos(0)), x, y, x_removed)
COND_EVAL_2(true, x, y, x_removed) → EVAL_2(minus_int(x, x_removed), y, x_removed)
greater_int(pos(0), pos(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ QDP
↳ NonInfProof
↳ AND
↳ QDP
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
EVAL_2(x, y, x_removed) → COND_EVAL_2(greater_int(x, pos(0)), x, y, x_removed)
COND_EVAL_2(true, x, y, x_removed) → EVAL_2(minus_int(x, x_removed), y, x_removed)
greater_int(pos(0), pos(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
EVAL_2(neg(s(x0)), y1, y2) → COND_EVAL_2(false, neg(s(x0)), y1, y2)
EVAL_2(neg(0), y1, y2) → COND_EVAL_2(false, neg(0), y1, y2)
EVAL_2(pos(0), y1, y2) → COND_EVAL_2(false, pos(0), y1, y2)
EVAL_2(pos(s(x0)), y1, y2) → COND_EVAL_2(true, pos(s(x0)), y1, y2)
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ QDP
↳ NonInfProof
↳ AND
↳ QDP
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
COND_EVAL_2(true, x, y, x_removed) → EVAL_2(minus_int(x, x_removed), y, x_removed)
EVAL_2(neg(s(x0)), y1, y2) → COND_EVAL_2(false, neg(s(x0)), y1, y2)
EVAL_2(neg(0), y1, y2) → COND_EVAL_2(false, neg(0), y1, y2)
EVAL_2(pos(0), y1, y2) → COND_EVAL_2(false, pos(0), y1, y2)
EVAL_2(pos(s(x0)), y1, y2) → COND_EVAL_2(true, pos(s(x0)), y1, y2)
greater_int(pos(0), pos(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ QDP
↳ NonInfProof
↳ AND
↳ QDP
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
EVAL_2(pos(s(x0)), y1, y2) → COND_EVAL_2(true, pos(s(x0)), y1, y2)
COND_EVAL_2(true, x, y, x_removed) → EVAL_2(minus_int(x, x_removed), y, x_removed)
greater_int(pos(0), pos(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ QDP
↳ NonInfProof
↳ AND
↳ QDP
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
EVAL_2(pos(s(x0)), y1, y2) → COND_EVAL_2(true, pos(s(x0)), y1, y2)
COND_EVAL_2(true, x, y, x_removed) → EVAL_2(minus_int(x, x_removed), y, x_removed)
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ QDP
↳ NonInfProof
↳ AND
↳ QDP
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
EVAL_2(pos(s(x0)), y1, y2) → COND_EVAL_2(true, pos(s(x0)), y1, y2)
COND_EVAL_2(true, x, y, x_removed) → EVAL_2(minus_int(x, x_removed), y, x_removed)
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
COND_EVAL_2(true, pos(x0), y1, pos(x1)) → EVAL_2(minus_nat(x0, x1), y1, pos(x1))
COND_EVAL_2(true, neg(x0), y1, pos(x1)) → EVAL_2(neg(plus_nat(x0, x1)), y1, pos(x1))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ QDP
↳ NonInfProof
↳ AND
↳ QDP
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
EVAL_2(pos(s(x0)), y1, y2) → COND_EVAL_2(true, pos(s(x0)), y1, y2)
COND_EVAL_2(true, pos(x0), y1, pos(x1)) → EVAL_2(minus_nat(x0, x1), y1, pos(x1))
COND_EVAL_2(true, neg(x0), y1, pos(x1)) → EVAL_2(neg(plus_nat(x0, x1)), y1, pos(x1))
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ QDP
↳ NonInfProof
↳ AND
↳ QDP
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
COND_EVAL_2(true, pos(x0), y1, pos(x1)) → EVAL_2(minus_nat(x0, x1), y1, pos(x1))
EVAL_2(pos(s(x0)), y1, y2) → COND_EVAL_2(true, pos(s(x0)), y1, y2)
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ QDP
↳ NonInfProof
↳ AND
↳ QDP
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
COND_EVAL_2(true, pos(x0), y1, pos(x1)) → EVAL_2(minus_nat(x0, x1), y1, pos(x1))
EVAL_2(pos(s(x0)), y1, y2) → COND_EVAL_2(true, pos(s(x0)), y1, y2)
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ QDP
↳ NonInfProof
↳ AND
↳ QDP
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
COND_EVAL_2(true, pos(x0), y1, pos(x1)) → EVAL_2(minus_nat(x0, x1), y1, pos(x1))
EVAL_2(pos(s(x0)), y1, y2) → COND_EVAL_2(true, pos(s(x0)), y1, y2)
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
COND_EVAL_2(true, pos(s(z0)), z1, pos(x2)) → EVAL_2(minus_nat(s(z0), x2), z1, pos(x2))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ QDP
↳ NonInfProof
↳ AND
↳ QDP
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
EVAL_2(pos(s(x0)), y1, y2) → COND_EVAL_2(true, pos(s(x0)), y1, y2)
COND_EVAL_2(true, pos(s(z0)), z1, pos(x2)) → EVAL_2(minus_nat(s(z0), x2), z1, pos(x2))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
EVAL_2(pos(s(x0)), z1, pos(z2)) → COND_EVAL_2(true, pos(s(x0)), z1, pos(z2))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ QDP
↳ NonInfProof
↳ AND
↳ QDP
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
COND_EVAL_2(true, pos(s(z0)), z1, pos(x2)) → EVAL_2(minus_nat(s(z0), x2), z1, pos(x2))
EVAL_2(pos(s(x0)), z1, pos(z2)) → COND_EVAL_2(true, pos(s(x0)), z1, pos(z2))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))